A Rational Deconstruction of Landin's SECD Machine
Olivier Danvy October 2003 |
Abstract:
Landin's SECD machine was the first abstract machine for the
![]() ![]() ![]() The evaluation function underlying the SECD machine provides a precise rationale for its architecture: it is an environment-based eval-apply evaluator with a callee-save strategy for the environment, a data stack of intermediate results, and a control delimiter. Each of the components of the SECD machine (stack, environment, control, and dump) is therefore rationalized and so are its transitions. The deconstruction and reconstruction method also applies to other abstract machines and other evaluation functions. It makes it possible to systematically extract the denotational content of an abstract machine in the form of a compositional evaluation function, and the (small-step) operational content of an evaluation function in the form of an abstract machine. Available as PostScript, PDF, DVI. |