embedding based prototype languages

James McCartney 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 
brief mentions.
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 mailing list