Category:Factor: Difference between revisions

m
Update for 0.99 stable release
m (update)
m (Update for 0.99 stable release)
Line 13:
Factor is a stack-based, concatenative, general-purpose programming language with a focus on practicality.
 
Initially developed by Slava Pestov, Factor began life in 2003 as a scripting language written for a game. The implementation was originally an interpreter written in [[Java]], but has since gained an optimizing compiler and has been rewritten in Factor with a minimal [[C++]] core. Read more about Factor's implementation history [https://concatenative.org/wiki/view/Factor/Implementation%20history here]. As of June 2020, Factor is still being developed by severaldozens of contributors, with the latest [https://re-factor.blogspotfactorcode.comorg/20182023/0708/factor-0980-99-now-available.html stable release] in JulyAugust 20182023.
 
Factor is a stack language similar to, but of a higher level than, [[Forth]]. Factor is a [https://concatenative.org/wiki/view/Concatenative%20language concatenative language], meaning that rather than applying functions to arguments (applicative languages) to evaluate things, we compose functions to evaluate a single piece of data — the entire program up until that particular point. In Factor, the basic structure of data flow is function composition. That is, <code>foo bar baz</code> is equivalent to <code>baz(bar(foo()))</code> in an applicative language. This offers a nice left-to-right style of reading and data flow.
1,808

edits