This is stooop (a Simple Tcl Only Object Oriented Programming scheme)
version 2.2. Stooop is implemented in a single sourceable file and uses
simple techniques to provide object orientation to the great Tcl
language.

Stooop allows single and multiple inheritance, data encapsulation (all
member data is public), dynamic binding and runtime type
identification. Member data is automatically unset when objects are
deleted.

It was tested with Tcl7.5 (yes, it even works on Windows and the Mac
Intosh) and also works with Tcl7.4.

Stooop works be redefining the Tcl proc command, so that object
oriented helper code is added to member procedures. The new, delete,
virtual and classof operators are implemented as Tcl procedures, or
alternatively dynamically loadable as an extension for better
performance.

Stooop was implemented with a constant concern for performance. Member
data is stored in Tcl associative arrays, which are best for random
data access. Object oriented helper code is kept as small and
efficient as possible. Typically, only a couple of Tcl lines are added
to a member procedure definition. Program startup time will be
slightly increased due to proc preprocessing, but runtime overhead is
kept to a minimum. Use of object oriented techniques may actually
improve the performance of your code.

A full HTML documentation, HTML class browser, simple demo script,
graphical demo with composite pattern, test files and manual pages are
provided.  You may also run the test program and look at the test
scripts for examples.

Whether you like it (or hate it), please let me know. I would like to
hear about bugs and improvements you would like to see. I will correct
the bugs quickly, especially if you send me a test script.

Jean-Luc Fontaine (jfontain@pluton.experdata.fr)
