The process of compiler generation from lambda-calculus definitions is studied. The compiling schemes developed utilize as
their object language the set of
state transition machines (
STMs): automata-like transition sets using first-order arguments. An intermediate definition form, the
STM-interpreter, is treated as central to the formulation of STMs. Three compiling schemes are presented: one derived directly from an STM-interpreter
for the lambda-calculus; one formulated from an STM-interpreter variant of Landin’s SECD-machine; and one defined through
meaning-preserving transformations upon a denotational definition of the lambda-calculus. The results are compared and some
tentative conclusions are made regarding the utility of compiler generation with the STM forms.
Keywords Lambda calculus - State transition machine - SECD-machine - Weak-normal form - Defunctionalization - Continuations - Denotational semantics
Permanent address: Computing and Information Science Department, Kansas State University, Manhattan, KS 66506, USA.