=== Top of the Swiki === Attachments ===
Relevant Resources
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:
- The Art of the Metaobject Protocol; Gregor Kiczales, Jim des Rivières, 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 papers on his approach to GUI design and programming using a continuation passing style ("contexts" in Smalltalk) to avoid the fragmentation of 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/spl/projects/aop/default.html
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:
Smalltalk: Agora94.
C++: Agora96.
Java: Agora98.
Scheme: Agora-S.
Minimix.
Interesting GUI approaches:
Pad++ Zoomable Interface http://www.cs.unm.edu/pad++/begin.html
The Magic Lens Interface Project http://www.parc.xerox.com/istl/projects/MagicLenses
Tunes project, Paris, France. Reviews of Operating Systems, Programming Languages, and very many related concepts. Has over 1,000 links to resources. See DavidManifold and http://www.tunes.org/~tunes/doc
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
Interfaces
It it possible to have interfaces in Squeak as with Java; see Interfaces