combinator

combinator

(theory)
A function with no free variables. A term is either a constant, a variable or of the form A B denoting the application of term A (a function of one argument) to term B. Juxtaposition associates to the left in the absence of parentheses. All combinators can be defined from two basic combinators - S and K. These two and a third, I, are defined thus:

S f g x = f x (g x) K x y = x I x = x = S K K x

There is a simple translation between combinatory logic and lambda-calculus. The size of equivalent expressions in the two languages are of the same order.

Other combinators were added by David Turner in 1979 when he used combinators to implement SASL:

B f g x = f (g x) C f g x = f x g S' c f g x = c (f x) (g x) B* c f g x = c (f (g x)) C' c f g x = c (f x) g

See fixed point combinator, curried function, supercombinators.
This article is provided by FOLDOC - Free Online Dictionary of Computing (foldoc.org)
Mentioned in
Copyright © 2003-2025 Farlex, Inc Disclaimer
All content on this website, including dictionary, thesaurus, literature, geography, and other reference data is for informational purposes only. This information should not be considered complete, up to date, and is not intended to be used in place of a visit, consultation, or advice of a legal, medical, or any other professional.