Virtual and Abstract Machine target for functional programming language compiler
The SECD machine is a highly influential (see: § Landin's contribution) virtual machine and abstract machine intended as a target for functional programming language compilers. The letters stand for Stack, Environment, Control, Dump—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 J. Landin in "The Mechanical Evaluation of Expressions"[1] in 1964. 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.[4]
^Landin, P. J. (January 1964). "The Mechanical Evaluation of Expressions". Comput. J.6 (4): 308–320. doi:10.1093/comjnl/6.4.308.
^Henderson, Peter (1980). Functional programming: application and implementation. Englewood Cliffs, N.J.: Prentice-Hall International. ISBN 0-13-331579-7.
The SECDmachine is a highly influential (see: § Landin's contribution) virtual machine and abstract machine intended as a target for functional programming...
simplified form of another abstract machine called the SECDmachine. The CEK machine builds on the SECDmachine by replacing the dump (call stack) with...
language Comparison of application virtual machinesSECDmachine Accumulator machine Belt machine Random-access machine Beard, Bob (Autumn 1997). "The KDF9 Computer...
use an abstract machine to gain machine independence. The early abstract machines for functional languages, including the SECDmachine (1964) and Cardelli's...
Haskell. SECDmachine Clarke, T. J.W.; Gladstone, P. J.S.; MacLean, C. D.; Norman, A. C. (25 August 1980). "SKIM - the S, K, I reduction machine". Proceedings...
Krivine machine is an abstract machine (sometimes called virtual machine). As an abstract machine, it shares features with Turing machines and the SECD machine...
calculus to define the semantics of Lisp. Abstract machines in the tradition of the SECDmachine are also closely related. The concept of operational...
It was first used for early experimentation with lazy evaluation. An SECDmachine-based implementation written in an ALGOL variant was published by the...
programming language first developed by Turner in 1972. Graph reduction machineSECDmachine Hudak, Paul (September 1989). "Conception, evolution, and application...
variables. The operational semantics of ISWIM are defined using Landin's SECDmachine and use call-by-value, that is eager evaluation. A goal of ISWIM was...
Butler Lampson – QED original co-author Peter Landin – ISWIM, J operator, SECDmachine, off-side rule, syntactic sugar, ALGOL, IFIP WG 2.1 member Tom Lane –...
calculus can be used to model programming languages. He introduces the SECDmachine which "interprets" lambda expressions. In 1965, Landin introduces the...
descendant Q. In the mid-1960s, Peter Landin invented SECDmachine, the first abstract machine for a functional programming language, described a correspondence...
responsible for inventing the stack, environment, control, dump SECDmachine, the first abstract machine for a functional programming language, and the ISWIM programming...
labels and jumps a first class value. It was designed to work with the SECDmachine with the following extra transitions: The J operator originally created...
bound variables. The evaluations are similar to those of P. Landin’s SECDmachine. With this coverage, CAM gives a sound ground for syntax, semantics,...
(computing) Rewriting – Transformation of formulæ in formal systems SECDmachine – A virtual machine designed for the lambda calculus Scott–Curry theorem – A theorem...
LLP Write AI programs for a pacman like game, in SECDmachine instruction for pacman and 8-bit machine assembly instructions for four ghosts. 2015 Galois...
Such CPUs include some drum memory computers such as the IBM 650, the SECDmachine, Librascope LGP-30, and the RTX 32P. Other computing architectures go...
refers to both application virtual machines and software responsible for implementing them. Application virtual machines are typically used to allow application...
Training Division (TD) Human Resources Division (HRD) Security Division (SecD) Administrative and financial management support Facilities and Logistics...
Lieutenant Robert Lawrence Hulme, 1/2nd Battalion, London Regiment, secd. 5bth Machine Gun Corps Captain Charles Westley Hume, 19th Battalion, London Regiment...