CMU Artificial Intelligence Repository
Home INFO Search FAQs Repository Root

Similix: Self-Applicable Partial Evaluator for a Subset of Scheme.

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.

Version: 5.0 (May 1993) Ports: Similix runs in SCM, Chez Scheme and T3.1. Copying: Copyright (C) 1993 Anders Bondorf GNU GPL v2. CD-ROM: Prime Time Freeware for AI, Issue 1-1 Author(s): Anders Bondorf, Olivier Danvy, and Jesper J{\o}rgensen Contact: Anders Bondorf DIKU, Department of Computer Science University of Copenhagen Universitetsparken 1 DK-2100 Copenhagen Denmark Keywords: Authors!Bondorf, Authors!Danvy, Authors!J{\o}rgensen, GNU GPL, IEEE P1178 Compatible, Partial Evaluation, Programming Languages!Scheme, R3RS Compatible, R4RS Compatible, Scheme!Implementations, Similix, Univ. of Copenhagen References: A user's manual is included in the distribution.
Last Web update on Mon Feb 13 10:38:07 1995