Last updated at 7:03 pm UTC on 4 December 2007
This is a bibliography page for papers and articles about Smalltalk and Squeak.
refactorMe All these books should probably be categorized in the Documentation index. Also, all the book pages should probably be merged
updateMe Some of these links are dead
For books, see: Smalltalk-80, Squeak books in print, Smalltalk & Squeak books, and Free Smalltalk Books
Articles published by BYTE
An object lesson from Smalltalk
Smalltalk: Yesterday, Today, and Tomorrow by Adele Goldberg and L. Peter Deutsch
The Smalltalk Environment by Larry Tesler
Design Principles Behind Smalltalk by Daniel H. H. Ingalls
The Squeak community might find Eric Raymond's The Cathedral and the Bazaar essay instructive. Raymond contrasts two different collaborative freeware development models: the GNU model (cathedral), the Linux model (bazaar). He writes about why Linux is succeeding, and what personality traits are needed to build free software in a distributed collaborative environment. – ElizabethHanesPerry
The top officers at Netscape credit this document with helping them decide to open their development model. – JeremiahFass
There is now also a second paper Homesteading the Noosphere that discusses the property and ownership customs of the open source culture. This too has implications towards how we decide to manage Squeak development. – John Dougan
Project DIGITALIS is a Digital Information System for Smalltalk users which contains much information about different Smalltalk systems (including Squeak, ST/MT, VA, VW, ...) as Online Books and Tutorials. Feel free to read or help the author (Cronos) to extend Digitalis. http://www.astares.de/DIGITALIS/
A Report on Interpreted Programming Languages by Xiaoli Zhang & Helen Wong
Franç¯©sPachet offers the following knowledge representation systems implemented in Smalltalk. Code and papers at http://www-laforia.ibp.fr/~fdp/
- Né?°us: rules and object inferencing
- MusES: tonal music representation
- EpiTalk: generates advice and plan recognition
- BackTalk: constraint satisfaction and objects (See Constraint Satisfaction also)
Bytesmiths Smalltalk Publications: articles from The Smalltalk Report at http://www.bytesmiths.com/pubs/
Smalltalk language extensions
Smalltalk history. Interesting papers and sites
Ivan Sutherland's Sketchpad The 1963 thesis that kicked off interactive graphics, etc.
S P A C E W A R Fanatic Life and Symbolic Death Among the Computer Bums by Stewart Brand http://www.wheels.org/spacewar/stone/rolling_stone.html
This is the famous "Rolling Stone" article about Xerox PARC from 1972
The Xerox "Star": A Retrospective
Alan Kay: The Computer Revolution Hasn't Happened Yet!
Alan Kay: Software Design, the Future of Programming and the Art of Learning
Educom Review March/April 99
Wired brings together two legendary minds: Alan Kay and Danny Hillis.
Revealing the Elephant: The Use and Misuse of Computers in Education
Alan Kay: Powerful Ideas Need Love Too!
http://el.www.media.mit.edu/groups/el/events/love-too.html DEAD LINK Dec 03: would really like to find this paper
The Way We Were
A bicycle for the mind
A 1988 paper by Andreas G?(then at University of Dortmund) on implementing message sends with access control between distributed Smalltalk systems: http://www.heeg.de/~georg/guendel.htm Yes, we've been doing this kind of stuff long before Java was even thought of...
A 1998 article in Wired magazine about Squeak, including discussion with Alan Kay, Dan Ingalls, Tim Rowledge, and Mark Guzdial. http://www.wired.com/news/technology/0,1282,16833,00.html
Brian Foote, Ralph Johnson; Reflective Facilities in Smalltalk-80 (OOPSLA '89) http://laputa.isdn.uiuc.edu/ref89/ref89.html
Most of Stephen Travis Pope's papers on the DoubleTalk
Simula and Smalltalk: A Social and Political History http://www.cs.washington.edu/homes/dugan/history.html
[I find this paper to be a bogus politicial interpretation of history from afar. Sort of like a Marxist interpretation of a college football game. Don't waste your time. –Ted Kaehler] Funny how wrong some people can be. This paper is a well-needed ballon-pricking, and everyone who seriously considers programming should read it.
Information of interest and possible value to the future development of Squeak toward the blue plane (Blue plane defined: Squeak's Place in the Universe). This can include websites, papers, articles, books, research topics, random thoughts.
- The Art of the Metaobject Protocol; Gregor Kiczales, Jim des Riviè²¥s, and Daniel G. Bobrow, MIT Press, 1991, ISBN 0-262-61074-4.
- Object-Oriented Programming: The CLOS Perspective; Andreas Paepcke ed., MIT Press, 1993, ISBN 0-262-16136-2.
Matthew Fuchs, PhD., now works for Walt Disney Imagineering in the Virtual Reality Lab. Of special interest is his approach to GUI design and programming using a continuation passing style ("contexts" in Smalltalk) to avoid fragmenting programs and logic flow caused by normal event oriented GUI programming. Escaping the event loop: an alternative control structure for multi-threaded GUIs http://cs.nyu.edu/phd_students/fuchs
Reflection Metaobject Protocols.
Computational Reflection and Meta-level Architectures
Programming Technology Lab (PROG), Vrije Universiteit Brussel
OO language based on late binding (via message passing), pure (i.e. mixin-based) inheritance and object-based encapsulation. Agora (below) takes a similar approach. http://progwww.vub.ac.be/pools/lens
Reflective, prototype based, object oriented programming language, based wholly on message passing. Has a syntax rather like Smalltalk but approaches creating objects, inheritance, etc., very differently. http://progwww.vub.ac.be/pools/agora
- Smalltalk: Agora94
- C++: Agora96
- Java: Agora98
- Scheme: Agora-S
Interesting GUI approaches
Tunes project, Paris, France. Reviews of Operating Systems, Programming Languages, and very many related concepts. Has over 1,000 links to resources. See DavidManifold
Programming by Example
In computer interfaces, users must often do the same or similar sequences of operations repeatedly, sometimes in different situations. If computers are so good at repetition, why are users the ones who keep repeating things?
"Programming by example", or "programming by demonstration", is a method to teach computers new behavior by demonstrating actions on concrete examples. The system records user actions and generalizes a program that can be used in the original and new examples.
How easy are some Other Squeak ports? NetBsdSourceCode
A number of people have discussed the meaning of getSystemAttribute. Here are the suggestions so far:
Some suggestions from the prior generation of implementors may apply to Squeak. Still, their insight is worth noting.
Being so portable, Squeak is sure to run into many platform pecularities:
Delayed Code Generation in a Smalltalk-80 Compiler by Ian Piumarta – generating native machine code from Smalltalk – the 68020 is used as an example (note: this paper is in Postscript and cannot be properly viewed or printed by Ghostscript but will print fine on a Postscript printer)
Replication-based garbage collection
Some representative papers:
- Scott Nettles, James O'Toole, David Pierce, Nicholas Haines; Replication-Based Incremental Copying Collection; September 1992.
- Scott Nettles, James O'Toole; Real-Time Replication-Based Garbage Collection; June 1993.
- Scott Nettles, James O'Toole; Implementing Orthogonal Persistence: A Simple Optimization Based on Replicating Collection; December 1993.
- James O'Toole, Scott Nettles, David Gifford; Concurrent Compacting Garbage Collection of a Persistent Heap; December 1993.
- More: http://www.psrg.lcs.mit.edu/publications.html
Object Systems Group
Bibliography. Large number of online papers covering wide range of OOP topics and issues. Of special interest to Smalltalk VM hackers:
- Jan Vitek, Compact Dispatch Tables for Dynamically Typed Programming Languages.
- Jan Vitek, R. Nigel Horspool, Compacting Dispatch Tables for Dynamically Typed Object Oriented Languages.
- Karel Driesen, Urs Hoelzle, Jan Vitek, Message Dispatch on Pipelined Processors.
- Jan Vitek, R. Nigel Horspool, Taming Message Passing: Efficient method lookup for dynamically typed object-oriented languages.
MaryBeth Rossen and John Carroll
A number of papers on smalltalk garbage collection theory in Visualworks can be found at http://www.smalltalkconsulting.com/papers/papersandpresentations.html
The Behavior of Behavior
An old OOPSLA tutorial that has been requested by a few people.
http://www.dnsmith.com/dnsmith/Smalltalk/index.html DEAD LINK Dec 2003