embedding based prototype languages
asynth at io.com
Mon Sep 30 17:16:09 UTC 2002
Is there a list for discussing prototype languages in general?
I am interested in figuring out some details concerning languages like
Omega, Kevo, Obliq that prefer embedding over delegation. The idea of
embedding never really made sense to me until I read some slides by
Luca Cardelli ("Object based vs Class based Languages", PLDI 96
Tutorial). Some things still seem problematic with the approach. I like
a few things about it, easy to make dispatch fast, objects are self
sufficient. For me, fast dispatch is important since I am currently
using a Smalltalk-like language with constant time dispatch.
It seems that change management would be a nightmare when you want to
update a method that was inherited by a lot of objects. This might be
solved by using "become:" ?? The slides contain this quote: "In
embedding based languages such as Kevo and Omega, pervasive changes are
achieved even without donor hierarchies." How?
Also it seems more difficult to use inheritance in certain "part-of"
situations (as was done NewtonScript for example), or doing so would
cause a lot of unecessary space usage.
This quote is also there: "Super and override make sense for implicit
inheritance but not for explicit inheritance." But don't you still need
to call the 'super' method in the (explicitly) overriding method
Another observation is that if you have doesNotUnderstand: then it is
trivial to reimplement parent delegation in an embedding only language.
So why not build it in to the dispatch routine anyway?
I can't seem to find any info at all on the web on Kevo other than
Omega seems very out of date. I'm unsure of the status of Obliq.
--- james mccartney james at audiosynth.com <http://www.audiosynth.com>
SuperCollider - a real time synthesis programming language for the
More information about the Self-interest