Back to the Future The Story of Squeak, A Practical Smalltalk Written in Itself

Squeak is an open, highly-portable Smalltalk implementation whose virtual machine is written entirely in Smalltalk, making it easy to. debug, analyze, and change. To achieve practical performance, a translator produces an equivalent C program whose performance is comparable to commercial Smalltalks.Other noteworthy aspects of Squeak include: a compact object format that typically requires only a single word of overhead per object; a simple yet efficient incremental garbage collector for 32-bit direct pointers; efficient bulk-mutation of objects; extensions of BitBlt to handle color of any depth and anti-aliased image rotation and scaling; and real-time sound and music synthesis written entirely in Smalltalk.

[1]  Eliot Miranda BrouHaHa - A Portable Smalltalk Interpreter , 1987, OOPSLA.

[2]  Ted Kaehler,et al.  Virtual memory on a narrow machine for an object-oriented language , 1986, OOPLSA '86.

[3]  Urs Hölzle,et al.  Adaptive optimization for self: reconciling high performance with exploratory programming , 1994 .

[4]  Robert G. Atkinson Hurricane: an optimizing compiler for Smalltalk , 1986, OOPSLA 1986.

[5]  Daniel H. H. Ingalls,et al.  The Smalltalk-76 programming system design and implementation , 1978, POPL.

[6]  David Maier,et al.  QUICKTALK: a Smalltalk-80 dialect for defining primitive methods , 1986, OOPSLA 1986.

[7]  Frank Jackson,et al.  Tenuring policies for generation-based storage reclamation , 1988, OOPSLA '88.

[8]  David Maier,et al.  Quicktalk: A Smalltalk-80 Dialect for Defining Primitive Methods , 1986, OOPSLA.

[9]  Scott Wallace,et al.  Fabrik: a visual programming environment , 1988, OOPSLA 1988.

[10]  Frank Jackson,et al.  Tenuring policies for generation-based storage reclamation , 1988, OOPSLA 1988.

[11]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[12]  Craig Chambers,et al.  Making pure object-oriented languages practical , 1991, OOPSLA 1991.

[13]  Ivan Moore,et al.  Babel - A Translator from Smalltalk into CLOS , 1994 .

[14]  Brad Cox,et al.  Producer: A tool for translating Smalltalk-80 to Objective-C , 1987, OOPSLA 1987.

[15]  David M. Ungar,et al.  Generation Scavenging: A non-disruptive high performance storage reclamation algorithm , 1984, SDE 1.

[16]  L. Peter Deutsch,et al.  Efficient implementation of the smalltalk-80 system , 1984, POPL.

[17]  Brad J. Cox,et al.  Producer: A Tool for Translating Smalltalk-80 to Objective-C , 1987, OOPSLA.

[18]  Eliot Miranda BrouHaHa- A portable Smalltalk interpreter , 1987, OOPSLA 1987.

[19]  Ted Kaehler Virtual memory on a narrow machine for an object-oriented language , 1986, OOPSLA 1986.

[20]  Randall B. Smith,et al.  Directness and liveness in the morphic user interface construction environment , 1995, UIST '95.

[21]  Ralph E. Johnson,et al.  TS: an optimizing compiler for smalltalk , 1988, OOPSLA '88.

[22]  Craig Chambers,et al.  Making pure object-oriented languages practical , 1991, OOPSLA '91.

[23]  Robert G. Atkinson,et al.  Hurricane: an optimizing compiler for Smalltalk , 1986, OOPLSA '86.

[24]  Scott Wallace,et al.  Fabrik: a visual programming environment , 1988, OOPSLA '88.

[25]  Gilad Bracha,et al.  Strongtalk: typechecking Smalltalk in a production environment , 1993, OOPSLA '93.

[26]  Glenn Krasner,et al.  Smalltalk-80: bits of history, words of advice , 1983 .

[27]  Norihisa Doi,et al.  SPiCE: A System for Translating Smalltalk Programs Into a C Environment , 1995, IEEE Trans. Software Eng..