SECD machine

SECD machine
Original author(s)Peter Landin
Initial release1964 (1964)
Operating systemLinux, Windows, DOS
PlatformFree Pascal on IA-32, x86-64
Included withLispkit Lisp, Lisp/370, pure_LISP
Size~ 76K, 185K, 920K
Available inEnglish
Typevirtual and abstract machine
Websiteskelet.ludost.net/sec

The SECD machine is a highly influential (see: Landin's contribution) virtual machine and abstract machine intended as a target for compilers of functional programming languages. The letters stand for stack, environment, control, dump, respectively, which are the internal registers of the machine. The registers stack, control, and dump point to (some realizations of) stacks, and environment points to (some realization of) an associative array.

The machine was the first to be specifically designed to evaluate lambda calculus expressions. It was originally described by Peter Landin in "The Mechanical Evaluation of Expressions" in 1964.[1] The description published by Landin was fairly abstract, and left many implementation choices open (like an operational semantics).

Lispkit Lisp was an influential compiler based on the SECD machine,[2] and the SECD machine has been used as the target for other systems such as Lisp/370.[3] In 1989, researchers at the University of Calgary worked on a hardware implementation of the machine, with the same rationale as a high-level language computer architecture related to a Lisp machine.[4]

  1. ^ Landin, P. J. (January 1964). "The Mechanical Evaluation of Expressions". The Computer Journal. 6 (4): 308–320. doi:10.1093/comjnl/6.4.308.
  2. ^ Henderson, Peter (1980). Functional programming: application and implementation. Englewood Cliffs, New Jersey: Prentice-Hall International. ISBN 0-13-331579-7.
  3. ^ Padget, Julian (1988). Three uncommon Lisps (PDF). First International Workshop on Lisp Evolution and Standardization. Bath, Avon, United Kingdom: School of Mathematical Sciences, University of Bath – via Computer History Museum.
  4. ^ Graham, Brian (1 September 1989). SECD: Design Issues (Report). Calgary, Alberta, Canada. Retrieved 12 December 2024.

© MMXXIII Rich X Search. We shall prevail. All rights reserved. Rich X Search