combinatory logic

(redirected from Combinators)
Also found in: Wikipedia.

combinatory logic

A system for reducing the operational notation of logic, mathematics or a functional language to a sequence of modifications to the input data structure. First introduced in the 1920's by Schoenfinkel. Re-introduced independently by Haskell Curry in the late 1920's (who quickly learned of Schoenfinkel's work after he had the idea). Curry is really responsible for most of the development, at least up until work with Feys in 1958.

See combinator.

Combinatory Logic


a branch of mathematical logic that studies combinators and their properties. The function and the operation of applying a function to an argument are the fundamental concepts in combinatory logic. Members of a certain class of operations on functions that is closed with respect to application are called combinators. The concept of “combinatorily defined function” as formulated using the terms of combinatory logic was one of the first methods of refining the concept of algorithm. The foundations of combinatory logic were worked out by the Soviet mathematician M. I. Sheinfinkel’ (Schönfinkel; 1924). Most of its results belong to the American logician H. Curry. Combinatory logic finds extensive application in the theory of programming languages.


Ianovskaia, S. A. “Logika kombinatornaia.” In the book Filosofskaia entsiklopediia, vol. 3. Moscow, 1964.
Schönfinkel, M. “Über die Bausteine der mathematischen Logik.” Mathematische Annalen, 1924, vol. 92.
Curry, H. B., and R. Feys. Combinatory Logic. Amsterdam, 1958.
Curry, H. B. “Recent Advances in Combinatory Logic.” Bulletin de la Société mathématique de Belgique, 1968, vol. 20, no. 3.
References in periodicals archive ?
Using example domain specific language case studies, the volume covers topics such as understanding internal DSL implementation patterns, DSL design in Ruby, Groovy and Clojure, DSL with Scala, external DSL artifacts, and designing external DSLs using Scala parser combinators.