Programming with Prototypes

Programming with prototypes is an alternative to using class-based object systems.

See Also

On things, by RS
artificial intelligence

Further Reading

Wikipedia
C2
The Universal Design Pattern , [L1 ], 2008-10-20
An explanation of the Properties Pattern.
Organizing Programs Without Classes , Ungar et al, Lisp and Symbolic Computation 1991
Born of the the Self project.

Tcl Prototype Systems

Prototype Pattern in Tcl
A simple prototype implementation by EKB, and an example by DKF of how to do it in 8.6 with TclOO
Selfish, by Setok
another minimal tcl object system (XOTcl like syntax)
BOS
dicthash: Yet another lightweight object system
Poet
Prototype Object Extension for Tcl. Features prototype-based inheritance, constraints, and persistence.
Prototype Pattern in Tcl
includes a short and sweet TclOO implementation of Steve Yegge's Prototype Pattern
SELF extension
Inspired by SELF Uses objects that only have slots.
Snit's Not Incr Tcl
a pure-Tcl object framework that relies on object composition and delegation rather than object inheritance
framesets
Frameset based OO implemention for Tcl.
theObjects
Small prototype-oriented object system.
Yet another object system
does everything with lists.
SDynObject
a pure Tcl system that is very simple and extensible.
Procs as objects
does it with default arguments to procs, instance variables might be kept in alias only.
TOE
an extension to the Tcl programming language that enables object-oriented (OO) programming in a class-based, Java-like style. Toe provides commands that allow a Tcl scripting programmer to create OO classes, define functional relationships between classes, run Tcl code in objects created from the classes, and implement various multiple-class patterns that are well-known in the object-oriented paradigm.
TWO
Tcl With Objects. Author wrote it because I felt that existing object extensions to TCL either were so complex they were difficult to port and to debug, or they made member variable access unnecessarily complex
UFO (yet another pure tcl OOS), by MS
an unfriendly [sic] but powerful prototype-based object system
ycl::context, by PYK
Features cascading variable and command access. A predecessor to ycl shelf.
ycl ns dupensemble
Instantiate objects duplicating namespaces.
ycl::ns::object, by PYK
like ycl::context, but implemented in less code, taking advantage of the nuances namespace functionality. Cascading variable and command access. Methods are subcommands of a namespace ensemble, and use info level 0 to bind to an object when called. Upmethods bind to an object by using upvar 1..., and upvar 2... is the caller of the method. Also a predecessor to ycl shelf.
ycl shelf
Provides a reasonably-well-equipped prototype from which to begin. Utilizes ycl ns dupensemble.

Non-Tcl Prototype Languages

Self Programming Language