=== Top of the Swiki === Attachments ===

Papers and Articles

NCITS J20 DRAFT of ANSI Smalltalk Standard revision 1.9

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.phaidros.com/DIGITALIS/

A Report on Interpreted Programming Languages by Xiaoli Zhang & Helen Wong
http://www.cs.colorado.edu/~zorn/cs5535/Fall-1996/projects96/zhangx-interpret.html

FredRivard:


CodA:
An object meta-level architecture for Smalltalk which features decomposition by logical behaviour as its primary design guideline. Papers on this and related topics by JeffMcAffer are at http://web.yl.is.s.u-tokyo.ac.jp/members/jeff/research/coda.html

FrançoisPachet offers the following knowledge representation systems implemented in Smalltalk. Code and papers at (http://www-laforia.ibp.fr/~fdp/)


Bytesmiths Smalltalk Publications: articles from The Smalltalk Report at http://www.bytesmiths.com/pubs/

Smalltalk language extensions:


Smalltalk history. Interesting papers and sites:


miscellaneous

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 http://www.geocities.com/SiliconValley/Office/7101/retrospect/index.html

Alan Kay: The Computer Revolution Hasn't Happened Yet!
http://www.educause.edu/conference/e98/webcast98.html

Alan Kay: Software Design, the Future of Programming and the Art of Learning
Educom Review March/April 99
http://cause-www.niss.ac.uk/ir/library/html/erm99027.html

Wired brings together two legendary minds: Alan Kay and Danny Hillis.
http://www.wired.com/wired/archive/2.01/kay.hillis_pr.html

Revealing the Elephant: The Use and Misuse of Computers in Education
http://tolearn.net/marketing/kay1.htm

Alan Kay: Powerful Ideas Need Love Too!
http://el.www.media.mit.edu/groups/el/events/love-too.html

The Way We Were
http://www.syllabus.com/archive/PreSyll/Syllabus_Issue_24-_September_1992_Distance_Education/The_Way_We_Were.txt

A bicycle for the mind:
(http://cispom.idbsu.edu/is120erickson/webdoc/kay.htm)

A 1988 paper by Andreas Gündel (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


Smalltalk Bibliographies:


Brian Foote, Ralph Johnson; Reflective Facilities in Smalltalk-80 (OOPSLA '89) (http://laputa.isdn.uiuc.edu/ref89/ref89.html)

Most of StephenPope's papers on the DoubleTalk

Simula and Smalltalk: A Social and Political History (http://www.cs.washington.edu/homes/brd/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]


Information of interest and possible value to the future development of Squeak toward the blue plane (Blue plane defined: Place in the Universe). This can include websites, papers, articles, books, research topics, random thoughts.

Books:


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

Metaobject Protocols. Papers and related sites: http://www.parc.xerox.com/spl/projects/mops

Aspect-Oriented Programming: http://www.parc.xerox.com/csl/projects/aop/

Computational Reflection and Meta-level Architectures:
http://web.yl.is.s.u-tokyo.ac.jp/pl/meta.html

Programming Technology Lab (PROG), Vrije Universiteit Brussel

LENS Project

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)

Agora

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)

Implementations:



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.

http://lcs.www.media.mit.edu/people/lieber/PBE


How easy are some SqueakPorts? NetBsdSourceCode

A number of people have discussed the meaning of getSystemAttribute. Here are the suggestions so far:



In a recent posting, John Maloney writes: "Regarding accessing primitives by name, I don't think it is that difficult to use the current integer-numbering scheme, especially if we set up some kind of registry for primitive numbers..."



Those developers interested in writing their own primitives should take a look at Stephen Pope's "Do-it-Yourself Guide to Squeak Primitives" at http://www.create.ucsb.edu/squeak/DIYSqPrims.html.



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) http://www-sor.inria.fr/publi/DCG_piumarta-thesis.html

Replication-based garbage collection.

Some representative papers:



Object Systems Group

Bibliography. Large number of online papers covering wide range of OOP topics and issues. Of special interest to Smalltalk VM hackers:




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



Fabrik

The Behavior of Behavior
An old OOPSLA tutorial that has been requested by a few people.

http://www.dnsmith.com/dnsmith/Smalltalk/index.html