Publication | Open Access
Deriving a lazy abstract machine
199
Citations
14
References
1997
Year
Abstract MachineEngineeringOperational SemanticsAutomated ReasoningProgram AnalysisFunctional Programming LanguageDependently Typed ProgrammingAbstract InterpretationFormal MethodsLazy Abstract MachineSimple Abstract MachineComputer ScienceLambda CalculusSemanticsLazy EvaluationFormal VerificationFunctional ProgrammingComputability Theory
We derive a simple abstract machine for lazy evaluation of the lambda calculus, starting from Launchbury's natural semantics. Lazy evaluation here means non-strict evaluation with sharing of argument evaluation, i.e. call-by-need. The machine we derive is a lazy version of Krivine's abstract machine, which was originally designed for call-by-name evaluation. We extend it with datatype constructors and base values, so the final machine implements all dynamic aspects of a lazy functional language.
| Year | Citations | |
|---|---|---|
Page 1
Page 1