[Xotcl] XOTcl 0.9.4 available
Gustaf Neumann
neumann at wu-wien.ac.at
Tue Apr 9 16:43:41 CEST 2002
Dear XOTcl community,
here comes the announcement of XOTcl 0.9.4.
This is supposed to be the last patch release
before XOTcl 1.0. We fixed a lot of problems in
this patch release, so we hope that the migration
to 1.0 will be smooth...
best regards
-gustaf neumann
=======================================================================
Announcing XOTcl 0.9.4
**********************
WHAT IS XOTCL?
XOTcl is an object-oriented extension of Tcl that was derived from
OTcl. In short, XOTcl tries to provide a highly flexible,
reflective, component-based, and object-oriented environment. It
integrates language support for high level concepts which are not
found in other languages, with reasonable performance. 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.
CHANGES relative to 0.9.3 are:
- fixes:
* separate reference counting for XOTcl objects and classes
to avoid references from tcl_obj's internal representation
to freed memory
* fixes for AOL-Server (many thanks to Zoran Vasiljevic for
that and for his great help during fixing the problems above)
* improved portability: horrible macro substitution
bug, when USE_ALLOCA or USE_MALLOC was specified; these
are used for some platforms such as AIX
* fixing path search for XOTcl library (bug was introduced in
0.9.3 in connection with TEA compliance)
* fixed a bug in copy/move (many thanks for Artur Trzewik
for reporting this) in connection with constructors
(constructors are not called automatically in copy/move
operations anymore)
* various small fixes in libraries (e.g. HTTP support,
generation of pkgIndex-files, using "my", ...)
- enhancements:
* new global command "my":
one can use now:
Class Counter -parameter {{n 0}}
Counter instproc ++ {} { my incr n }
Counter instproc print {} { puts "actual value: [my n]"}
Counter c1
c1 ++
c1 print
In earlier versions it was neccessary to use "[self]"
instead of "my". This change reduces the number of
special characters in XOTcl programs.
"[self]" will continue to be supported by XOTcl.
* extended semantics of "new"
a) Object new ...
b) Object new -childof ...
c) Object new -volatile ...
d) Object new -volatile -childof ...
where (a) creates now "global" objects not in the global
namespace anymore, but in the ::xotcl namespace, (b) can
be used to create objects as child of other objects
(e.g. as children of the actual object [self]; the objects
are deleted, when the specified object is deleted). (c)
creates are "global" objects as in (a), but they are
deleted, when the scope of the current
tcl-proc/object-proc/instproc is left and (d) is a
combination of (b) and (c).
- optimizations:
* XOTcl is trying to keep Tcl_Objs of type tclCmdNameType
instead of converting it to XOTclObjectType agressively.
* A patch for Tcl 8.4a3 is available from the XOTcl web site
for performance hungry applications to provide special
byte-code-support for xotcl, that yields for classical
benchmark programs up to 40%. This patch is not likely to
be integrated into the general Tcl core in the new or
distant future.
For more details, please consult the ChangeLog
MORE INFO
General and more detailed information about XOTcl and its components
can be found at http://www.xotcl.org
Best regards,
Gustaf Neumann
Uwe Zdun
More information about the Xotcl
mailing list