posted on 1997-09-01, 00:00authored bySeth C. Goldstein
This note outlines the Life Abstract Machine (LAM), an abstract machine used as an intermediate
target for the efficient compilation of LIFE. LAM focuses primarily on the efficient
implementation of matching, residuation, and currying of functions. Although the topic is not
discussed in this note, LAM also implements lazy unification.
LAM should be viewed as an intermediate target for compiling LIFE to a native instruction set
for a general purpose processor. Thus, this note presents LAM as an abstract machine along
with its instructions. However, we also discuss how LAM would be realized in terms of data
structures and basic routines. This should facilitate the implementation of both a LIFE-to-LAM
compiler and a LAM-to-native-code compiler.