Similix System
Program-Transformation.Org: The Program Transformation Wiki
Similix is an autoprojector (self-applicable partial evaluator) for a
large higher-order subset of the strict functional language Scheme.
Similix treats source programs that use a limited class of
side-effects, for instance input/output operations. Similix handles
partially static data structures.
Similix is automatic: in general, no user annotations (such as
unfolding information) are required; user assistance may in some cases
be required to avoid looping, however. Similix gives certain
guarantees concerning the residual programs it generates: computations
are never discarded (partial evaluation thus preserves termination
properties) and never duplicated.
Similix is well-suited for partially evaluating interpreters that use
environments represented as functions and interpreters written in
continuation passing style. Since Similix is self-applicable,
stand-alone compilers can be generated from interpreters.
Similix is highly portable. It conforms to the
IEEE and R4RS Scheme
standards, but it also runs under R3RS Scheme.
From the DIKU Similix page:
http://www.diku.dk/research-groups/topps/activities/similix.html
Other resources:
--
EelcoVisser - 09 Sep 2001