Slate and Agora; building the Slate VM
Nicolas Pelletier
nicolas.pelletier3 at free.fr
Wed Dec 29 04:14:27 PST 2004
Hello,
"Shaping" <shaping1 at bellsouth.net> writes:
> More importantly, Slate has object-based multiple dispatch,
> > which changes the character of the language a bit, but makes it more
> > powerful in return.
>
> I read about this in the tutorial, but I'm not satisfied yet by the
> role delegation strategy. It seems to be in flux.
It has changed since 0.3. I'll need to update this section. Traits are
now composed in a traits window and the search for traits objects
modified to avoid ambiguities between inheritance and mere delegation.
The details are in the src/mobius/vm/base directory.
> I don't know all of the Slate syntax yet, but it appears to involve
> more than just a message send. Agora's MOP is a just the message
> send. In Slate you have to do assignements (a special case, not a
> message send, not as uniform as Agora, but perhaps no worse). I like:
>
> addSlot: #x valued: 1
>
> But, because x is the slot and #x is its name, should we not use?:
>
> addSlotNamed: #x valued: 1
In fact, assignments in Slate are message sends directed to the
current execution context: the current object, the context of the
method currently executed... The above could also be written:
lobby addSlot: #x.
lobby x: 1. "Expanded form of assignment"
Assignment is optimized by the VM.
--
Nicolas
More information about the Slate
mailing list