The PGG system is a partial evaluation system for the full Scheme language as defined in the R5RS report [19]. It has the following features
offline partial evaluation using the cogen approach;
correct specialization of imperative code;
side effects performed at specialization time;
modular specialization;
no restrictions on primitives and static inputs (they are not restricted to have first-order types);
handles eval, apply, call-with-values, and control operators correctly;
flexible control of memoization;
language extensions (user-defined algebraic datatypes, make-cell, cell-set!, cell-ref, cell-eq?);
representation analysis;
fast specialization (the system produces generating extensions);
multi-level specialization.
The system does not have a post-processor. This manual does not contain explanatory material about offline partial evaluation. Section 7.1 gives some pointers to relevant literature.
* Copyright © Peter Thiemann, 1998-2008