Tue Feb 12 20:01:02 2002
Hello again all,
It's been over a year since I last had the time and attention to give
to Slate, and a lot of design issues remained unresolved, so I went
back to the drawing board.
I've been studying a new programming language called Joy, and picking
up a lot of good new research material to form better concepts and
constructs for the language. Hopefully you will find it as
interesting as I have.
I will be putting together a new form for the Slate language, and
simplifying the language documentation area on the TUNES website.
Code for the new form will follow shortly after that. My current
preference is to build on Lee Salzman's core code written in Common
Lisp, as that will be the simplest method to reach an interpreter
with reasonable performance while satisfying all of the flexibility
requirements to implement the semantics.
Some ideas I'm proposing include using certain kinds of combinators
as evaluation primitives. They would take the surrounding object
within the network of slots and transform it according to various
basic rules. This would be an extensible language, probably with a
pseudo-quote type operator (not like the quasi-quoting as Lisp has)
to switch into the mode for accepting this rewriting input. My first
thought is to reserve the semi-colon ";" for this.
Also the concatenative syntax of Joy may be mixed with the Lisp style
by reserving ( and ) in an interesting way which I will elaborate
upon later. Other brackets may be used in similar ways, and there is
the possibility of extending this to a sub-language.
I should mention that I'm going to de-emphasize the metaphor with
Self and Beta, unfortunately, since the expectation of
"object-oriented programming" principles creates a great deal of
confusion when faced with a language like Slate that is only based on
maps-containing-maps. As an example, notions like variables or
methods or multi-methods all have to be emulated on equal footing, so
really Slate is not going to be oriented towards any one particular
Finally, for those who are unaware, a lot of my lack of attention to
my projects has been due to my employment, which has now changed
quite favorably, so you can expect a lot more interactivity from me,
and a lot more progress.