Jump to content

Stalin (Scheme implementation): Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Added link to research statement
Line 22: Line 22:
{{portalpar|Free software}}
{{portalpar|Free software}}
*[http://cobweb.ecn.purdue.edu/~qobi/software.html Stalin home page]
*[http://cobweb.ecn.purdue.edu/~qobi/software.html Stalin home page]
*[ftp://ftp.ecn.purdue.edu/qobi/research-statement.pdf Research Statement by Siskind] (compares Stalin with other Scheme compilers, and states that "Stalin often generates code that outperforms handwritten c and Fortran code.")


[[Category:Scheme compilers]]
[[Category:Scheme compilers]]

Revision as of 22:45, 30 August 2007

Stalin
Developer(s)Jeffrey Mark Siskind
Stable release
0.11 / Oct 2, 2006
Operating systemCross-platform
TypeProgramming language
LicenseGPL
Websitecobweb.ecn.purdue.edu/~qobi/software.html

Stalin is an aggressive optimizing batch whole-program Scheme compiler written by Jeffrey Mark Siskind. It uses advanced flow analysis and type inference and a variety of other optimization techniques to produce code (using C as an intermediate language) that is extremely fast, particularly for numeric codes. In a number of tests it has outperformed hand-written C, sometimes by a considerable margin.[citation needed] Stalin is intended for production use in generating an optimized executable.

The compiler itself runs slowly, and there is little or no support for debugging or other niceties. Full RnRS Scheme is not supported, but rather a coherent subset amenable to optimization. The compiler itself does lifetime analysis and hence does not generate as much garbage as might be expected, but global reclamation of storage is done using the Boehm garbage collector.

Stalin is free software, licensed under the GNU General Public License (GPL), and is available online.