View · Search · Index
No registered users in community xowiki
in last 10 minutes

[Xotcl] XOTcl 0.9.4 available

From: Gustaf Neumann <neumann_at_wu-wien.ac.at>
Date: Tue, 9 Apr 2002 16:43:41 +0200

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