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 λx_{1}.λx_{2}...λx_{n}.*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.