1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217
|
Changes in version 1.1.1 (Fri Oct 15 1999)
Fixed:
- a problem with an assembler-syntax change on i386-linux.
- shared library versions of tom, too, and C now follow trt.
- garbage collection of Blocks.
Changes in version 1.1 (Sat Oct 2 1999)
New targets:
i386-unknown-freebsd3*
m68k-unknown-linux*
New features:
- Added support to the runtime library, for blocks as implemented by
Tesla, the new TOM compiler. Note that tomc, the old TOM compiler,
has not been updated to also handle blocks.
- Added -fno-conditions to tomc, to aid in porting.
- Added to the garbage collector the possibility to notify objects of
being referenced from the stack.
Other changes:
- Shared library version of libtrt increased to version 2, without
backwards compatibility.
- TOM is now part of Debian, so the Debian setup was changed and
removed from the TOM source distribution proper.
- Implemented the `:extend' option.
- Small bug fixes, some SPARC specific.
Changes in version 1.0 (Sun Jun 6 1999)
- Some small fixes.
Changes in version 0.99.4 (Tue Jan 5 1999)
New targets:
sun-sparc-solaris
New features:
- Garbage Collection (GC) is run atomically, causing a reduction of a
program's footprint compared to non-atomic GC runs. Supply a value
to `:gc-ptl' (partial garbage collection run time limit) on the
command line of any TOM program to make GC run non-atomic (use
`:gc-ptl 0' to have non-atomic runs without time limit).
Other changes:
- Many fixes great and small.
Changes in version 0.99.3 (Thu Oct 8 1998)
New features:
- The syntax of selectors has been sanitized, as described in
http://gerbil.org/tom/highlights/newsel.shtml.
Other changes:
- flawless operation on FPU intensive tasks on i386 boxes, thanks to
work by Matt Kimball. The patch actually works around a bug in GNU
CC's __builtin_apply and __builtin_return (at least a bug when used
in the way the TOM runtime library is using them, where the return
type of the function invoked is not known at compile time).
- easier configuration on some configurations.
Changes in version 0.99.2 (Tue Jul 14 1998)
New targets:
i386-apple-rhapsody5
ppc-apple-rhapsody5
mips-sgi-irix[56] (O32 ABI only)
alpha-unknown-linux-gnu
Other changes:
- Unarchiving from a TextStreamDecoder has been implemented.
This employs a new class: XL, which is a simple lexer that can
also be used for other things than just text stream decoding.
- Many fixes great and small.
Changes in version 0.99.1 (Mon Apr 6 1998)
New features:
- shared library support
Other changes:
- The TOM makefiles are now part of the main TOM package. They have
been cleaned up and support the creation of shared libraries,
employing libtool 1.1 for this purpose.
- The parser generator and skeleton unit have been removed from the
main TOM package; they now reside in a package of their own.
- Similarly, the TOM Language Reference Manual has been put in a
package of its own.
- Implemented the full forwarding track. Fixed all known bugs
related to passing and returning floats, doubles, longs, etc.
- Numerous minor features and major fixes.
Changes in version 0.92 (unreleased)
New features:
- New class WeakKeyMutableEqDictionary, which is identical to a
MutableEqDictionary, except that when it is a container, the key
references are weak, instead of the value references.
Other changes:
- documentation and reference manual have been updated.
- bug fixes.
Changes in version 0.91 (Sun Aug 3 1997)
New targets:
ppc-unknown-linux
New features:
- The runtime library understands units and qualified classnames
(new class: Unit).
- The CharEncoding and fallback USASCIIEncoding now share a common
behavioural super (new class: CharacterEncoding).
Other changes:
- improved hashtable performance while simplyfying the hash methods,
by applying the golden ratio fraction multiplicative hashvalue
generator to the values returned by the hash methods.
- fixed an important bug concerning the garbage collection of objects
employing pointer-typed variables; if they do nothing (the common
case for user-written classes) their object-referencing variables
are still scrutinized.
- numerous bug fixes.
Changes in version 0.03 (Fri Mar 21 1997)
New targets:
hppa1.1-hp-hpux10.20
i386-next-nextstep3
i386-next-nextstep4 (untested)
Language changes:
- thread-local static class variables (new qualifier: `local'),
- methods can have preconditions and postconditions. Conditions are
inherited by overriding methods. Code for condition checking is
compiled in by default; it can be omitted by `-fno-pre-checks' and
`-fno-post-checks'. Condition checking at run time is off by
default; it can be enabled by `:cc-pre' and `:cc-post',
- unary operator, `old', for use in postconditions,
- literal C code can be included between <c> and </c> tags,
- the semicolon is now a terminator instead of a separator, making
TOM code look more like C code (and C-x C-t useful again).
New features:
- multi threading on some targets (classes: tom.Thread, tom.Lock,
tom.RecursiveLock, and tom.Semaphore),
- copying and mutable copying of objects (new class: Copying),
- archiving objects onto a stream, and retrieving them (new or
modified classes: All, State, Coder, BinaryCoder, StreamCoder,
BinaryStreamCoder, TextStreamCoder, and their encoding/decoding
subclasses),
- invocation building, currying, and execution (new classes:
Invocation, InvocationResult, Selector, TypeDescription),
- an _initial_ implementation of Distributed Objects (new classes:
Connection, PortCoder, Proxy, and various subclasses),
- Unicode support. The unicode example program is now a necessary
tool for creating the conversion and predicate tables. Tables for
unicode and iso8859-* encodings are included in the distribution.
(new or modified classes: ByteString, CharString, CharEncoding,
USASCIIEncoding),
- some new collections (new classes: IntDictionary, EqDictionary,
PointerDictionary, EqSet, IntArray, Trie, Heap),
- primitive implementation of bundles (new class: Bundle),
- tom.C class providing malloc, memcpy and the like,
- new class tom.Constants containing all definitions of constants
for the tom unit, instead of the previous classes FileUser,
TrieUser, etc (which have been removed),
- the new class Extension provides access to an object's extensions,
including the ability of having a particular method of said
extension be executed.
Other changes:
- numerous bug fixes.
Changes in version 0.02 (Sun Sep 8 1996)
A lot of changes in the tools, the libraries and the documentation.
Changes in version 0.01 (Fri Jul 5 1996)
Everything; this is the first release.
|