Exotic Programming Language #1 : Factor

Factor is a dynamically typed concatenative programming language whose design and implementation is led by Slava Pestov. Factor’s main influences are Joy, Forth, Lisp and Self. As of December 2007, the current version of Factor is 0.91. A 1.0 release is planned in 2008.

Factor is a general purpose, dynamically typed, stack-based programming language. The Factor implementation includes a VM together with an extensive library. The VM is written in C and provides basic runtime support and memory management. The library provides building blocks for applications. Factor is compiled to machine code, and on Mac OS X, can be used to build stand-alone native applications.

Factor began as a scripting language in a Java game project and quickly grew into a general-purpose language. While this was happening, the limitations of the Java virtual machine were making themselves apparent, and an effort to write a native Factor implementation with a minimal core in C was kicked off. The native implementation was bootstrapped from Java Factor, and soon thereafter native Factor became the de facto implementation, work on the Java implementation stopped.

Factor development is led by Slava Pestov, with extensive help from a community of contributors and testers.