The Kernel programming language attempts to expand on the simplicity and versatility of Scheme by exploiting a decomposition of Scheme's lambda constructor into two orthogonal constructors. The primary constructor called $vau, builds compound combiners that act directly on their unevaluated operands ands ("call-by-text", or operative, compound combiners); while a second constructor, called simply wrap, induces evaluation of arguments. This report describes how these constructors work, and explores some of their consequences, including some design differences of Kernel from Scheme that help the programmer to manage the inherent volatility of first-class operative combiners.
Shutt, John N.
(2003). Decomposing lambda - the Kernel programming language. .
Retrieved from: http://digitalcommons.wpi.edu/computerscience-pubs/124