On Oct 29, 2007, at 1:23 PM, Hans-Martin Mosner wrote:
Igor Stasenko schrieb:
There is a language which uses multiple-dispatch. See Slate. And it is object-oriented.
Yes, I know - Slate is a very interesting approach, and from a theoretical standpoint, I like it a lot. AFAIK there is no efficient implementation of the dispatch algorithm yet, and progress is stalled according to the web site:
Early 2006 - The project is on hold after loss of interest from the lead implementor. Slate needs a significant qualitative speed boost for further updates.
This is a sad thing.
Dispatch was NOT why Slate is slow - it's because we wrote the libraries with Strongtalk-style optimization in mind (assuming massive inlining lets you write heavily abstracted libraries), without a clear step-wise roadpath to getting there ... and so eventually the compiler developer (co-creator) left, and we had no other experts to get us through the problems. The UI was written for example, but so slow that it is completely unusable, even slower than the Sun Lively Kernel (Morphic in Javascript).
That said, there is a specific challenge to make PICs work with multi- methods, but it's nothing compared to the more difficult task of implementing the darned things in the first place for a new runtime. Even the Strongtalk effort is losing momentum...
-- -Brian http://briantrice.com