Jump to content

Supercombinator

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 24.61.13.7 (talk) at 02:59, 25 June 2007. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A supercombinator is a mathematical expression which is fully-bound and self-contained. It may either be a constant or a combinator where all the subexpressions are supercombinators.

It may be defined, in mathematical terms, as the following:

A supercombinator, $S$ of arity n is a lambda expression of the form
λx1.λx2...λxn.E
where E is not a lambda abstraction, such that:
  1. S has no free variables.
  2. any lambda abstraction in E is a supercombinator.
  3. n ≥ 0, so that lambdas are not required.

References

  • S. L. Peyton Jones, The Implementation of Functional Programming Languages. Prentice Hall, 1987.