A Self / BETA Language Hybrid Project
btanksley@hifn.com
btanksley@hifn.com
Wed, 12 Jan 2000 09:32:04 -0800
> From: Brian T. Rice [mailto:water@tunes.org]
> Subject: A Self / BETA Language Hybrid Project
> Hello all,
> I'd like to announce a new programming language project
> called Slate
> (http://www.tunes.org/~water/slate-home.html) that attempts
> to take the
> best of the Self and BETA programming languages, and provide
> a coherent
> framework for these ideas.
Great!
> Although the language will
> primarily be dynamic
> in the style of Self, it will also extensively use the benefits of
> pattern-programming and the various abstractions that BETA
> has shown to be so useful.
Yes, that sounds very useful indeed. Do you also plan for your language to
be functional?
> The language will also incorporate the abstract syntax tree
> (similar to Lisp's SEXP notation) structure
Wait. Lisp's SEXPs form a concrete syntax, not an abstract one. ASTs are
used in parsing and building portable binary formats (there's yet another
effort at one at http://caesar.ics.uci.edu/laski/portablecode.html and
http://www-nt.cs.berkeley.edu/home/necula/public_html/pcc.html, based on a
combination of Juice and formal proofs).
Did you mean that the syntax would be Lisp-based?
> and a functional character for
> its object semantics. This will allow for some cleaner
> semantics and better
> meta-programming facilities within the language itself than
> are available
> for other object-oriented languages.
Yes, true. For an example of a language which produces OO semantics in a
purely functional way, take a look at ...oops, I've lost the link. I don't
believe it. Darn! And now I can't find it _anywhere_. The interesting
thing about this language (whatever its name was) is that it models changing
state by making the object actually be a sequence of values, and your code
moves the current object back and forth along that sequence.
Mozart/Oz at http://www.mozart-oz.org/ is also interesting, but looks much
more conventional (good combo of logical and functional programming,
though).
> Brian T. Rice
-Billy