ITP: stalin - it's now GPLed.
After talking to the author some months back (nearly a year) about
making stalin free, he convinced the company to let him GPL it.
Expect a package in a couple of days. For Scheme freaks, it's
potentially extremely cool. It can take things like "(+ x y)",
determine that they must be the same type and convert it to something
like "int tmp = x + y;" in the C output it generates.
It has an extremely fancy optimizer. It has been shown to generate
numeric code that can beat hand-coded Fortran (so I was told).
Status: install ok installed
Maintainer: Rob Browning <firstname.lastname@example.org>
Depends: libc6, libc6 (>= 2.1), libgc4
Description: Stalin is an extremely agressive Scheme compiler.
Stalin is an agressive self-hosting Scheme compiler. It is designed
to generate extremely efficient stand-alone executables in terms of
both computational performance and resource consumption. Stalin is a
batch mode compiler like gcc, not an interpreter. It is designed to
be used after your code has stablized to dramatically improve code
In exchange for substantial performance increases, Stalin places a
few limitations on the content of the source code. The chief
limitation is that you may not not LOAD or EVAL new expressions or
procedure definitions within a running program. This restriction
allows Stalin to perform various sophisticated global analyses.
These analyses include soft, static type analysis which allows it,
when appropriate, and without any type declarations in the source, to
map Scheme types directly to native C types, and use native
arithmetic operations on a per expression basis. This analysis also
allows Stalin to reduce, or often eliminate, run-time type checking
and dispatching. Stalin also does careful lifetime analysis for all
allocated data. This allows Stalin to completely eliminate garbage
collection for data with limited scope or accessibility.
Stalin also performs a careful rechability analysis to eliminate any
items from the output that are inaccesible.
Stalin has a foreign procedure interface to both Xlib and OpenGL.
Rob Browning <email@example.com> PGP=E80E0D04F521A094 532B97F5D64E3930