Slate and Agora; building the Slate VM

Nicolas Pelletier nicolas.pelletier3 at free.fr
Wed Dec 29 09:42:54 PST 2004


"Shaping" <shaping1 at bellsouth.net> writes:

> > For example, a temporary variable declared in a method is semantically
> > a slot  of the method's  execution context. If that  method references
> > slots or  roles of  the receiving objects,  then it is  also necessary
> > that the  method context delegates  to the receiving objects  to allow
> > slots and roles resolution.
> 
> So the initial context is effectively extended to all additional
> contexts referenced by its slots?

No. Temporary variables are slots,  but not delegation slots, and some
objects in the tuple of receivers  may not be used inside the method's
body (and thus do not become delegation slots of the context either).

_ at Nil isNil [True].

This defines  the role (1,  isNil) on the  object Nil, but Nil  is not
used inside the method's body. So the method's execution context, when
called,  does not  have any  delegation slots  to account  for message
sends to a receiving object.

Slate's reflective  capabilities are not yet fully  implemented, so it
is not possible  to inspect a method like you would  do in a Smalltalk
environment...

-- 
Nicolas




More information about the Slate mailing list