Why Factor

The Factor programming language is a concatenative, stack-based programming language with high-level features including dynamic types, extensible syntax, macros, and garbage collection. On a practical side, Factor has a full-featured library, supports many different platforms, and has been extensively documented.

The implementation is fully compiled for performance, while still supporting interactive development. Factor applications are portable between all common platforms. Factor can deploy stand-alone applications on all platforms. Full source code for the Factor project is available under a BSD license.

USING: accessors kernel math math.constants
math.functions prettyprint ;

TUPLE: circle radius ;
TUPLE: rectangle width height ;

GENERIC: area ( shape -- area )
M: circle area radius>> sq pi * ;
M: rectangle area [ width>> ] [ height>> ] bi * ;

rectangle new 10 >>width 20 >>height area .


To download a binary, follow the link for the desired OS / CPU configuration. Binary packages are the recommended route for new users who wish to try Factor.

Stable release: 0.99


Source code: 0.99

Development release


Source code: available via github or gitweb or cgit.

Stable and development releases are built and uploaded by the build farm. Follow @FactorBuilds on Twitter to receive notifications. If you're curious, take a look at the build farm dashboard. You can also build Factor on your own platform from source.

Older releases

Download older releases from Factor 0.29 to the current release.