*** Welcome to piglix ***

Factor (programming language)

Factor
NewFactorLogo.png
Paradigm multi-paradigm: functional, concatenative, stack-oriented
Developer Slava Pestov
First appeared 2003
Stable release
0.97 / November 2, 2014 (2014-11-02)
Typing discipline strong, dynamic
OS Windows, macOS, Linux, others
License BSD license
Website factorcode.org
Influenced by
Joy, Forth, Lisp, Self
Influenced
Cat,Concat

Factor is a stack-oriented programming language created by Slava Pestov. Factor is dynamically typed and has automatic memory management, as well as powerful metaprogramming features. The language has a single implementation featuring a self-hosted optimizing compiler and an interactive development environment. The Factor distribution includes a large standard library.

Slava Pestov created Factor in 2003 as a scripting language for a video game. The initial implementation, now referred to as JFactor, was implemented in Java and ran on the Java Virtual Machine. Though the early language resembled modern Factor superficially in terms of syntax, the modern language is very different in practical terms and the current implementation is much faster.

The language has changed significantly over time. Originally, Factor programs centered on manipulating Java objects with Java's reflection capabilities. From the beginning, the design philosophy has been to modify the language to suit programs written in it. As the Factor implementation and standard libraries grew more detailed, the need for certain language features became clear, and they were added. JFactor did not have an object system where you could define your own classes, and early versions of native Factor were the same; the language was similar to Scheme in this way. Today, the object system is a central part of Factor. Other important language features such as tuple classes, combinator inlining, macros, user-defined parsing words and the modern vocabulary system were only added in a piecemeal fashion as their utility became clear.


...
Wikipedia

...