[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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
Installed-Size: 3378
Maintainer: Rob Browning <rlb@cs.utexas.edu>
Version: 0.8-1
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
 performance.
 .
 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 <rlb@cs.utexas.edu> PGP=E80E0D04F521A094 532B97F5D64E3930


Reply to: