Updates and plans

Brian T Rice water at tunes.org
Wed Aug 20 22:05:35 PDT 2003


Here's a small progress report for the last week:

* We've added a "facade" object for the operation of the IR generation
phase from source, called Compiler (big surprise). This can be loaded
after the standard libraries from src/compiler.slate . It will
automatically load the necessary compiler and optimizer libraries before
setting up its own code. It's stream-oriented, with "next" and "peek"
operations, and directly takes a text stream and returns IR nodes in a
stream. There are certainly some bugs left, and many we discovered in
other libraries along the way, but it's working in a basic way now. (An
example method to launch it is to invoke "(Compiler Compiler newOn:
'someCode' reader).", but don't scream and shout if you find bugs in that
:D We're still working on it. But test as you like, and let us know if
you see obvious sources of problems.)

* The next steps for bootstrapping are the actual closure-lifter and
C-translator for the "flattened" IR output of the lift pass. The idea then
is to integrate the output to produce binary libraries or such; something
actually useful. ;)

* A project I've undertaken in the mean-time is to provide a proper
wrapper for Lisp's condition system to set up our proposed condition
(exception)  system design in src/condition.slate . This should let us get
away with providing some semblance of a Slate-aware debugger, and allow us
to work with the libraries in a much easier manner. It'll also allow us to
have proper unit tests (hooray!), and some basic concurrency handling.

If all of this is completed, I'll stamp it as 0.2 and send it out into the
world.

The major project after these are ready are to write a full Slate run-time
implementation in itself, and translate that to C and run based on that.
This will take some time, but will culminate in a basic stand-alone
implementation that I'll probably consider 0.3.

The C translation will eventually be replaced with a retargettable
Slate-hosted binary compilation backend, which will happen on Lee's
schedule entirely.

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



More information about the Slate mailing list