The term for the process of by which an object is taken out of its context, so that a new context can be applied to it. Abstraction's possibility enables deductive and inductive thinking, and a well-developed ability of abstraction is what makes man's intelligence superior to all the other known living species.

The mathematical theory of such abstractions is called a lambda calculus, after the greek letter lambda, traditionally (actually, it's a typographical accident) used to denote such abstractions.

In a computer programming language, abstraction is the syntactical ability to deduce the expression of a function from a pattern of abstract arguments, and the body expression. Applying such a function to concrete parameters results in those parameters being matches to the argument pattern, and the matched values being consequently substituted to abstract arguments in the function body. The value of a the function application is then the result of evaluating this substituted body.

For instance, in the LISP programming language family, (sin y) denotes the sine of y, and (* 2 x) the double of x. Hence, (lambda (x) (sin (* 2 x))) denotes a function which, when applied to an argument x, will return the sine of the double of x.

Pages in this topic: Lisp Literate Engine   Quotienting   Reference  

Also linked from: Abstraction Level   Continuation-Passing Style   Declarative   Exokernel   Higher-Order   Hume   Plan B   Plan9