Unlambda programming language



         


Unlambda is a minimal functional programming language based on combinatory logic, a version of the lambda calculus that omits the lambda operator. It relies mainly on two builtin functions (s and k) and an "Apply" operator (written `, the backquote character); these alone make it Turing-complete, but there are also some I/O functions to make it possible to interact with the user, some shortcut functions and a function for lazy evaluation.

As an esoteric programming language, Unlambda is meant as a demonstration of very pure functional programming rather than for practical use. Its main feature is the lack of conventional operators and data types -- the only kind of data in the program is one-parameter functions. Data can nonetheless be represented with curried functions. Unlambda is based around the principle of abstraction elimination, or the elimination of all saved variables, including functions. As a purely-function language, Unlambda's functions are not only first-class objects, but they're the only first-class objects.

The hello, world program in Unlambda is somewhat odd. It is below:

`r```````````.H.e.l.l.o. .w.o.r.l.di
[Top]




  View Live Article   This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License