Describes different ways of implementing functional programming languages which bear a strong family resemblance to one another, and which all have their origins in the work of Turner on combinator-based graph-reducers. First chapters cover translation of Lipskit into combinatory logic, and evaluation of the resulting object code by graph-reduction. Later chapters follow a natural progression, refining and improving the efficiency of this implementation...