Concatenative language/Meta-programming

Higher-order concatenative languages, such as Joy and Factor, represent quotations (anonymous functions) as lists. This means that any list manipulation operations can be used to construct new programs and run them. In Factor, the compiler itself is extensible with Macros and so new programs can be constructed at compile time.

This is similar to macro meta-programming in Lisp and Scheme. While powerful macros are often cited as the raison d'être for Lisp's parenthetical syntax and heavy nesting, concatenative languages achieve a similar level of expressive power with much "flatter" and simpler programs.

Thanks to easy meta-programming, Concatenative languages can absorb many different paradigms with ease. Factor supports Functional programming, Object-oriented programming, and Dataflow programming (with the models vocabulary).

This revision created on Sat, 3 Jan 2009 01:27:39 by slava