Dear Tcl Community,
This is the first public announcement of 'Extended Object Tcl' (XOTcl) in this mailing list. XOTcl was derived from the impressive OTcl language developed by D. Wetherall and C. Lindblad at the MIT in '95 and extended in various ways. In short, XOTcl tries to provide a highly flexible, reflective, component-based object-oriented environment. It integrates language support for high level concepts, which are not found in other languages, with reasonable performance. Nevertheless, it prevails the Tcl programming style and the dynamic/introspective nature of the language, rather than introducing other language's styles and rigidness (such as C++) into Tcl.
Since it was our aim to combine new ideas from the object-oriented community with the component glueing concepts of Tcl, we presented XOTcl so far primarily to the scientific community in the areas of object-orientation, design patterns, and web development. Now we believe that XOTcl implementation has reached a fairly good quality in terms of stability, speed and memory-leaks, and therefore we decided to make this public announcement of the XOTcl release 0.83.
The XOTcl paper presented at the Tcl/Tk conference in February 2000 described XOTcl version 0.80. The most important changes in the newer releases are:
XOTcl Language: - improved configurability and portability - support for mixin interceptors at the per-class level (instmixins) - various new predefined XOTcl methods operating on variable names (exists, append, lappend, incr, array) - various speed improvements - deep copy/move for all aggregations - free of memory leaks and invalid memory references (tested with Purify)
packages: - new documentation tool (see tutorial) - substantially improved components for XML and RDF - better support for HTML forms (e.g. file upload) - support for secure places via SSL - more example programs - improved documentation (still a long way to go)
packaging: - provision of XOTcl in the RPM and SRPM format
The XOTcl distribution contains aside of the implementation of the language a growing set of components. We developed them as a prove of concept that the concepts of the XOTcl language can be used as a powerful environment for practical applications. The XOTcl distribution contains for example a Web communication infrastructure (HTTP client and server), support for persistent objects, a mobile code system, important Web formats (such as XML and RDF), and general reusable components based on design patterns.
General information about XOTcl and its components can be found at http://www.xotcl.org
Best regards,
Gustaf Neumann Uwe Zdun