=== 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:


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