1Announcing XOTcl 1.3.0 2********************** 3 4WHAT IS XOTCL? 5 6 XOTcl is an object-oriented extension of Tcl that was derived from 7 OTcl. In short, XOTcl tries to provide a highly flexible, 8 reflective, component-based, and object-oriented environment. It 9 integrates language support for high level concepts which are not 10 found in other languages, with reasonable performance. It prevails 11 the Tcl programming style and the dynamic/introspective nature of 12 the language, rather than introducing other language's styles and 13 rigidness (such as C++) into Tcl. 14 15 16Major changes relative to 1.2.0 are: 17 18 - Qualitative Improvements 19 * Improved portability: 20 + TEA3 compatible build 21 + Much more polished configure+makefile (many thanks to 22 Jim Lynch for his help) 23 24 * Improved code quality: 25 + fixed 2 possible segmentation violations (error handling) 26 + fixed free memory reads (many thanks to Zoran Vasiljevic 27 for his help with purify) 28 29 * Less intrusive usage of XOTcl components: 30 + XOTcl procs and instprocs use now the namespace in which 31 they were defined. One can use XOTcl packages without having 32 the need to import xotcl globally or to use the xotcl-prefix 33 in all xotcl procs/instprocs. 34 35 - Functional Improvements 36 * New forwarding mechanisms for fast delegation: 37 new methods 'forward' and 'instforward' (many thanks 38 to Bryan Schofield for fruitful discussions and suggestions). 39 This method is a superset of tclcmd/insttclcmd, which has 40 been marked as deprecated. See the tutorial for more details. 41 42 * Nonpositional arguments for xotcl procs/instprocs; this is 43 a flexible way to check arguments, to provide defaults etc 44 for every xotcl proc/instproc. It uses a similar syntax as 45 ad_proc and ad_page_contract in OACS. See the tutorial for 46 more details. 47 48 * Extended methods filter, mixin, instfilter, instmixin as 49 discussed in the XOTcl mailing list. These commands can be 50 used more flexibly as follows 51 52 obj mixin same as: obj info mixin 53 obj mixin {C1 C2} same as: obj mixin set {C1 C2} 54 obj mixin set {C1 C2} sets the mixins for obj 55 obj mixin get same as: obj info mixin 56 obj mixin add C3 adds a mixin on front of the mixin list 57 obj mixin add C3 end adds a mixin at the end the mixin list 58 obj mixin add C3 3 adds a mixin at the 3rd position 59 obj mixin delete ::C3 removes the mixin from the mixin list 60 61 The same semantics are available as well for filter, instmixin 62 and instfilter. This change is fully backward compatible. 63 {filter,instfilter,mixin,instmixin}append are deprecated now. 64 65 66 For more details about the changes, please consult the ChangeLog and documentation. 67 68MORE INFO 69 General and more detailed information about XOTcl and its components 70 can be found at http://www.xotcl.org 71 72 73Best regards, 74 75Gustaf Neumann 76Uwe Zdun 77