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