Supercombinator

{{Short description|Bound and self-contained mathematical expression}}

{{disputed|date=November 2015}}

{{cleanup-rewrite|date=November 2015}}

A supercombinator is a mathematical expression which is fully bound and self-contained. It may be either a constant or a combinator where all the subexpressions are supercombinators. Supercombinators are used in the implementation of functional languages.

In mathematical terms, a lambda expression S is a supercombinator of arity n if it has no free variables and is of the form λx1.λx2...λxn.E (with n ≥ 0, so that lambdas are not required) such that E itself is not a lambda abstraction and any lambda abstraction in E is again a supercombinator.

See also

References

  • S. L. Peyton Jones, [https://research.microsoft.com/en-us/um/people/simonpj/papers/slpj-book-1987/ The Implementation of Functional Programming Languages]. Prentice Hall, 1987.

Category:Functional programming

Category:Implementation of functional programming languages

Category:Lambda calculus

{{comp-sci-theory-stub}}