Stalin (Scheme implementation)

StalinParadigms| Multi-paradigm: functional, imperative, meta

|

Family| Lisp
Designed by| Jeffrey Mark Siskind
Developer| Jeffrey Mark Siskind
Stable release|

0.11 / October 2, 2006; 19 years ago (2006-10-02)

Typing discipline| Dynamic, latent, strong
Scope| Lexical
Platform| IA-32, x86-64
OS| Cross-platform
License| GPL
Website| engineering.purdue.edu/~qobi/software
Influenced by
Lisp, Scheme

In computing, Stalin (STAtic Language ImplementatioN) is a programming language, an aggressive optimizing batch whole-program Scheme compiler written by Jeffrey Mark Siskind. It uses advanced data flow analysis and type inference and a variety of other optimization methods to produce code. Stalin is intended for production use in generating an optimized executable.

The compiler runs slowly, with little or no support for debugging or other niceties. Full R4RS Scheme is supported, with a few minor and rarely encountered omissions. Interfacing to external C libraries is straightforward. The compiler 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.

The name is a joke: "Joseph Stalin brutally optimizes."

Stalin is free and open-source software, licensed under a GNU General Public License (GPL), and is available online.

## See also

* Chicken (Scheme implementation)
* Gambit (Scheme implementation)

## External links

* A Google Code project – includes a Windows version and a GUI
* Research Statement by Siskind (compares Stalin with other Scheme compilers, and states that "STALIN often generates code that outperforms handwritten C and Fortran code.")
* Flow-Directed Lightweight Closure Conversion by Siskind (presents a lightweight closure-conversion method that is driven by the results of whole-program interprocedural flow, reachability, points-to, and escape analyses, used in the Stalin compiler)

* v
* t
* e

Lisp programming language

Features|

* Automatic storage management
* Conditionals
* Dynamic typing
* Higher-order functions
* Linked lists
* M-expressions (deprecated)
* Read–eval–print loop
* Recursion
* S-expressions
* Self-hosting compiler
* Tree data structures

Object systems|

* Common Lisp Object System (CLOS)
* CommonLoops
* Flavors

Implementations|

| Technical
standard(s)
exists|

| Common
Lisp|

* Allegro Common Lisp
* Armed Bear Common Lisp (ABCL)
* CLISP
* Clozure CL
* CMU Common Lisp (CMUCL)
* Corman Common Lisp
* Embeddable Common Lisp (ECL)
* GNU Common Lisp (GCL)
* LispWorks
* Macintosh Common Lisp
* Mocl
* Movitz
* Poplog
* Steel Bank Common Lisp (SBCL)
* Symbolics Common Lisp

|

Scheme|

* History
* Bigloo
* Chez Scheme
* Chicken
* Gambit
* Game Oriented Assembly Lisp (GOAL)
* Ikarus
* JScheme
* Kawa
* Larceny
* MIT/GNU Scheme
* MultiLisp
* Pocket Scheme
* Racket
* RScheme
* Scheme 48
* SCM
* SIOD
* T
* TinyScheme

ISLISP|

* OpenLisp

Nonstandard|

| Logo|

* MSWLogo
* NetLogo
* StarLogo
* UCBLogo

|

* Arc
* AutoLISP
* BBN LISP
* Clojure
* Dylan (Apple, history)
* Emacs Lisp
* EuLisp
* Franz Lisp, PC-LISP
* Hy
* Interlisp
* Knowledge Engineering Environment
* *Lisp
* LeLisp
* LFE
* Lisp Machine Lisp
* Maclisp
* MDL
* MLisp
* newLISP
* NIL
* PC-LISP
* Picolisp
* Portable Standard Lisp
* RPL
* S-1 Lisp
* SKILL
* Spice Lisp
* Zetalisp

Operating system|

* Common Lisp Interface Manager, McCLIM
* Genera
* Scsh

Hardware|

* Lisp machines
* TI Explorer
* Space-cadet keyboard

Community|

| Standards|

* Scheme Requests for Implementation
* Common Lisp HyperSpec
* X3J13

|

Education|

| Books|

* Common Lisp the Language
* How to Design Programs (HTDP)
* On Lisp
* Practical Common Lisp
* Structure and Interpretation of Computer Programs (SICP)

|

Curriculum|

* ProgramByDesign

Organizations|

* Apple Computer
* Bolt, Beranek and Newman
* Harlequin
* Lucid Inc.
* Massachusetts Institute of Technology (MIT)
* MIT Computer Science and Artificial Intelligence Laboratory (CSAIL)
* Stanford Artificial Intelligence Laboratory
* Symbolics
* University of California, Berkeley
* Xanalys

People|

* Edmund Berkeley
* Daniel G. Bobrow
* William Clinger
* R. Kent Dybvig
* Matthias Felleisen
* Robert Bruce Findler
* Matthew Flatt
* Phyllis Fox
* Paul Graham
* Richard Greenblatt
* Timothy P. Hart
* Louis Hodes
* Mike Levin
* David Luckham
* John McCarthy
* Robert Tappan Morris
* Joel Moses
* David Park
* Steve Russell
* Richard Stallman

Common Lisp|

* Scott Fahlman
* Richard P. Gabriel
* Philip Greenspun (10th rule)
* David A. Moon
* Kent Pitman
* Guy L. Steele Jr.
* Daniel Weinreb

Scheme|

* Shriram Krishnamurthi
* Guy L. Steele Jr.
* Gerald Jay Sussman
* Julie Sussman

Logo|

* Hal Abelson
* Denison Bollay
* Wally Feurzeig
* Brian Harvey
* Seymour Papert
* Mitchel Resnick
* Cynthia Solomon

* Category
* Category
* List

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/Stalin (Scheme implementation). Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Stalin_(Scheme_implementation)&oldid=239274"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template