
Why Factor?The Factor programming language combines powerful language features with a full-featured library. 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.
Most of the above links point to pages on the concatenative.org wiki. |
Show me some code!Factor belongs to the family of concatenative languages: this means that, at the lowest level, a Factor program is a series of words (functions) that manipulate a stack of references to dynamically-typed values. This gives the language a powerful foundation which allows many abstractions and paradigms to be built on top. Reload this page to see a random code example below. USING: accessors kernel math math.constants math.functions prettyprint ; IN: shapes 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 . See the example programs page on the wiki for more. |
To download a binary, follow the link corresponding to your computer's CPU/OS configuration. Binary packages are the recommended route for new users who wish to try Factor.
| OS/CPU | Windows | Mac OS X | Linux | FreeBSD | OpenBSD |
|---|---|---|---|---|---|
| x86 | |||||
| x86-64 |
Source code: 0.93
| OS/CPU | Windows | Mac OS X | Linux | FreeBSD | OpenBSD |
|---|---|---|---|---|---|
| x86 | |||||
| x86-64 |
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.
Source code is stored in our GIT repository. Source can can be browsed online via github or gitweb.