Bracket abstraction
<compiler> An
algorithm which turns a term into a function of some variable.
The result of using bracket abstraction on T with respect to variable v, written as [v]T, is a term containing no occurrences of v and denoting a function f such that f v = T.
This defines the function f = (\ v . T).
Using bracket abstraction and
currying we can define a language without
bound variables in which the only operation is
monadic function application.
See
combinator.