'''Unlambda''' is a minimal, "nearly [[Purely functional|pure]]"<ref name="chu2006">{{cite web|work=
'''Unlambda''' is aGood minimalMath, "nearlyBad [[PurelyMath functional''(blog)''|pure]]"<ref>{{citefirst=Mark webC.|last=Chu-Carroll|date=2006-08-11|title=Friday Pathological Programming: Unlambda, or Programming Without Variables|url=http://scienceblogs.com/goodmath/2006/08/11/friday-pathological-programmin-3/|publisher=ScienceBlogs}}</ref> [[functional programming language|functional]] [[programming language]] invented by [[David Madore]]. It is based on [[combinatory logic]], a version of the [[lambda calculus]] that omits the lambda operator. It relies mainly on two built-in 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. There are no variables in the language.
==Basic principles==
Line 6 ⟶ 7:
Unlambda is based around the principle of [[abstraction elimination]], or the elimination of all saved variables, including functions. As a purely functional language, not only are Unlambda's functions first-class objects, they are the ''only'' first-class objects.
An implementation of the [[hello world program]] in Unlambda follows:<ref name="chu2006"/>