Title :
CASE-a lazy version of an SECD machine with a flat environment
Author :
Davie, Antony J T ; McNally, David J.
Author_Institution :
Dept. of Comput. Sci., St. Andrews Univ., UK
Abstract :
CASE is an abstract machine which supports applicative programming and is a variation of Landin´s classical SECD machine (P.J. Landin, 1964). Its environment is organized in a novel way which makes variable access more efficient by removing the overhead of following a static chain or of setting up a display as in more conventional stack architectures. The CASE machine also has features allowing the execution of code to reflect lazy evaluation semantics. A description is given of the architecture of the machine, its operational semantics and code generated by a typical compiler for some sample programs. Also discussed are some optimizations made to facilitate efficient code generation on real hardware and some measurements of the efficiency of the machine
Keywords :
automata theory; data structures; functional programming; CASE machine; abstract machine; applicative programming; classical SECD machine; code/argument/stack/register; conventional stack architectures; efficient code generation; flat environment; lazy evaluation semantics; operational semantics; optimizations; real hardware; static chain; typical compiler; variable access; Computer aided software engineering; Current measurement; Displays; Hardware; Program processors; Tree data structures;
Conference_Titel :
TENCON '89. Fourth IEEE Region 10 International Conference
Conference_Location :
Bombay
DOI :
10.1109/TENCON.1989.177071