After much debugging and tweaking and testing and polishing, we're
declaring Slate as ready for release as 0.3, our first public
fully-bootstrapped system. This is a big step for us, and marks a
critical point in the lifespan of the project. Slate, for those not
aware, is a Smalltalk dialect and environment based on semantic
extensions to Smalltalk-80 while retaining the human-friendly syntax.
Slate is primarily based on the choices of combining the flexibility
of object-specific behavior and expressiveness of multi-method
dispatch into one coherent form. The environment heavily borrows many
good ideas from other systems, focusing on integration of things long
experimental into one coherent whole. Slate is intended to be useful
in every role that Squeak is, and to push the boundaries farther in
the areas of dynamic media and interactivity and flexibility. These
will take time to demonstrate, as the environment is currently still
based on console interaction, but the framework is already in place
for forward progress. Slate's website is http://slate.tunes.org/ Here
is a summary of what's new: Slate is now virtual-machine-based using a
self-generated set of sources which are idiomatic and efficient. The
VM is generated through a build process and translation layer which
are designed for easy extension, composition, and integration. The VM
loads images which can be built declaratively through a from-scratch
build process we have developed and can be re-used and modified as
needed. Images may also be saved while running, and reloaded to
continue from that run-time point. Much of the work involved in 0.3
has gone towards ensuring that this new environment is effectively
bug-free and robust, and has succeeded for all the ways the libraries
use it. Relatively simple optimizations have been added to improve
performance, and have had the effect of nearly-entirely removing the
overhead of the powerful but complicated dispatch mechanism, and
making Slate comparable with other similar languages for basic work.
Nearly every library in the system has been given a full test
treatment, and debugged and polished thoroughly. The fixes and
enhancements cover everything from the C-code generator to streaming
and external resources. Some features have been delayed in their
introduction to the new environment, particularly subjective dispatch,
graphics backends, and socket support, but these will be available
soon in subsequent sub-point releases along with other important
features. Slate 0.3 is released at
http://slate.tunes.org/downloads/slate-0.3.tgz The distribution
contains the full set of our repository's source, initial VM C sources
and images, and copies of the programmer's manual in HTML, PostScript,
and PDF formats. The included README file provides details on how to
use it. Enjoy! Brian Rice