Project update

Brian Rice
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.

Thanks much,