[ANN] Slate Release 0.2

Brian T Rice water at tunes.org
Fri Dec 5 15:21:00 PST 2003


After much effort in polishing the libraries and other recent extensions,
we're releasing Slate as version 0.2, available through Slate's website at
http://slate.tunes.org/ in tarball form:
http://slate.tunes.org/downloads/slate-0.2.tgz. I'll upload a front page
entry for it shortly.

Slate has been enhanced extensively since 0.1, supporting features such
as:

The Environment:
- Exception-handling support, along with a debugger that shows backtraces
  and selects resume options, largely in Slate. See section 3.9 in the
  manual.
- A lightweight object inspector, in Slate.
- Improvements to the Emacs mode's robustness and the interaction mode.
- Shell and Environment access added for OS command-shell related
  functionality. See section 3.8.3 in the manual.
- The Slate image can now be saved and restored at any time under CLISP,
  as described in the README in the release.

The Libraries:
- The entire Stream framework was overhauled to support the notion of
  resources with stream types specialized for every possible type,
  accessible in a polymorphic way. It also minimizes the number of
  primitives needed for extending the implementation to support new
  external connection types. See sections 3.7 and 3.8 in the manual.
- Many core utilities were added for basic object manipulation.
  See src/root.slate.
- addPrototype:derivedFrom: is now used for defining new datatypes. This
  abstracts over the delegation setup and is more clear.
- The SUnit Smalltalk unit-testing framework core is now ported and
  functional, allowing for more effective testing of library functionality
  and changes.

The Language: (these features are not yet used in standard code)
- Subjective dispatching has been added, allowing for dynamically invoked
  and persistent ability to customize the Slate environment behavior per
  objects. See section 2.3.5 in the manual.
- Optional keywords may now be passed with any message-send or supported
  in any code block or method. See section 2.3.6 in the manual.

The Bootstrap:
- Every unnecessary primitive in prims.lisp was factored out to Slate
  sources, and those primitives merely present for bootstrap were
  annotated as such.
- WordArray was added to the primitive set of types.

More details of the updates can be found in the NEWS file in the release.

The Slate 0.2 release is not targetted for ECLS-builds as 0.1 was;
instead, the CLISP bytecode compiler is recommended, as Slate's support
for shell functionality, image-saving, and socket usage is CLISP-specific
for simplicity. Instructions are included in the README file in the
distribution.

Slate 0.2 is also the last major point release that will be implemented in
Common Lisp. The 0.2 to 0.3 cycle will be devoted entirely to
bootstrapping into a bytecode VM + object memory situation, while
maintaining the existing code base. During this time, minor point releases
will be made on a monthly basis, incorporating useful user patches and
additions.

Enjoy! :)

-- 
Brian T. Rice
LOGOS Research and Development
http://tunes.org/~water/



More information about the Slate mailing list