Supercombinator: Difference between revisions

Content deleted Content added
m WPCleaner v1.27 - Repaired 1 link to disambiguation page - (You can help) - Constant, 1 to be fixed - Lambda expression
m Added a note sketching the use of supercombinators. Also added link to online version of SPJ text.
Line 1:
A '''supercombinator''' is a [[mathematical expression]] which is [[Free variables and bound variables|fully bound]] and [[self-contained]]. It may either be a [[constant (mathematics)|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 λx<sub>1</sub>.λx<sub>2</sub>...λx<sub>n</sub>.''E'' (with ''n''&nbsp;≥&nbsp;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.
Line 7:
 
==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]]