Squeak SmalltalkJoker Squeak Smalltalk : Projects : prevnext Slate Smalltalk

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