Alpha updated
Brian Rice
water at tunes.org
Wed Mar 30 10:43:49 PST 2005
Both the alpha images and VM sources have been updated. Here's a
summary of the changes:
(1) Removal of traits-less objects; you can't call any methods on them
- mainly it manifests in "Unprintable object" errors. There was some
trickery in the type system objects that used objects with removed
traitsWindow slots. This has been re-implemented using a macro; see
src/mobius/types.slate. Also, traitsWindow slot removal will throw an
error now.
The Raw object, an undocumented (and unused) feature, was also removed
due to this problem of not having any traits (which prevents calling
any message with it).
Uses of sendTo:through: in root.slate which complicated a lot of the
sources have been removed. These were here only because of the presence
of traits-less objects.
traits and traitsWindow slots were ensured to be immutable.
(2) Additions to the method query protocol. Now, #selector callers and
#selector implementations will return methods which call that name and
methods with that name, respectively. Both will recursively search from
a specified root object given with optional &in:. vm/interp/map.slate
gained some utility methods like methodsNamed:(at:) and methodsCalling:
to make the querying simpler.
isAbstract was added to see if a given method did anything but call
overrideThis.
(3) Thanks to Olli, ArrayMD (multidimensional array) now has a
pretty-printing handler and read/write streams. Traversal order is
fixed as yet, but I am working on variable optional specification of
traversal order when requesting streams.
(4) A VM safety check was added for primitive newSize: methods, which
makes a minimum of 0 for size. Previously, calling newSize: with a
negative size argument would crash the VM. Make sure to rebuild that VM
(it's getting rare, so I figure I need to remind people)!
(5) A trivial commentTemplate method will look at an object and do some
fuzzy stuff to build a default comment. It returns a String. See
derivable.slate.
(6) More of Paul's SDL updates have been incorporated.
(7) I tried to make REPL and SmartREPL more compatible, but SmartREPL
is starting with errors these days that I haven't fully fixed.
(8) More File Locator fixes for relative paths. See path.slate.
--
Brian T. Rice
LOGOS Research and Development
http://tunes.org/~water/
More information about the Slate
mailing list