8.7 SECD and WAM

There are two virtual machines of historical importance – SECD for the LISP and other functional languages and Warren abstract machine (WAM) for the PROLOG and other similar logic languages. Both these machines were intended to be used in three ways – for interpreted execution, further translation into a more conventional native target language of a commercial processor and for direct execution by a specialized hardware processor.

The SECD is an abstract machine with facilities and properties well suited for functional languages like LISP. It was invented by Pete Landin (1963) as a sample target machine for LISP. It uses a linked list oriented architecture and convenient target for S-expressions. The basic memory model of SECD ...

Get Compilers: Principles and Practice now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.