Related articles |
---|
Release: Similix 5.0 Scheme partial evaluator anders@diku.dk (1993-05-18) |
Newsgroups: | comp.compilers |
From: | anders@diku.dk (Anders Bondorf) |
Keywords: | Scheme, available, FTP |
Organization: | Department of Computer Science, U of Copenhagen |
Date: | Tue, 18 May 1993 09:01:09 GMT |
-----------------------------------------------------
-----------------------------------------------------
Release:
Self-applicable partial evaluator for a Scheme subset
Similix 5.0
available via anonymous ftp
-----------------------------------------------------
-----------------------------------------------------
How to get Similix by ftp is described in the end of this mail
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
General Description of Similix
------------------------------
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 for instance 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. This distribution should
immediately enable you to run Similix on Scm and on Chez Scheme. We have
tested this version of Similix on Scm version 4c0 and on Chez Scheme
version 3.2.
Similix 5.0 is based on the former Similix 4.0 (by Anders Bondorf and
Olivier Danvy). A part of Similix 5.0 has been written jointly by Anders
Bondorf and Jesper J{\o}rgensen.
The manual contains a section that summarizes some often used binding-time
improvements. These are needed in order to obtain good results of partial
evaluation. The section is partly Similix-specific, but parts of it are of
more general interest.
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
Main improvements from Similix 4.0
----------------------------------
-- Similix 5.0 is highly portable.
-- A larger Scheme subset is handled, in particular internal
definitions, letrec, and named (recursive) let.
-- Partially static data structures are now available.
-- User-defined constructors are now available (extension to Scheme).
-- Pattern-matching facilities are now available (extension to
Scheme).
-- The preprocessing phase is much faster (e.g. binding-time
analysis).
-- A trace facility for tracking infinite specialization is now
available.
-- For binding-time debugging: the show-facility for inspecting
preprocessed programs has been improved.
-- User-control of specialization/memoization point insertion is now
possible; this enables dynamic choice of static values.
-- The file scheme.adt is now always automatically loaded, so
user-programs need no longer contain the corresponding
loadt-expression.
-- The manual has been improved in different ways; it now contains an
index.
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
Mailing Address
---------------
Anders Bondorf
DIKU, Department of Computer Science
University of Copenhagen
Universitetsparken 1
DK-2100 Copenhagen \O
Denmark
e-mail: anders@diku.dk
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
Obtaining Similix via anonymous ftp:
------------------------------------
ftp ftp.diku.dk
login: anonymous
password: <your username, full e-mail address>
cd pub/diku/dists
binary
hash
get Similix.tar.Z
bye
To decode the file Similix.tar.Z, run
uncompress < Similix.tar.Z | tar xvpf -
A directory named
Similix
then appears. Now read the file Similix/README.
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.