Object pointers (+ a de-ENH, and a crash)

Brian Keefer mgomes21 at cox.net
Fri Mar 29 08:08:27 UTC 2002


Rob Withers wrote:
> Eventually
> sent messages are not executed immediately.  This type of eventual
> reference returns an object reference, as a promise, to which you can
> eventually send additional messages, each returning a new promise
> reference.
> 
> These messages, sent to the promise reference, are pending until the
> receiver promise resolves to a real object reference (#become:), then
> the messages are eventually forwarded to this resolved object, and in
> turn each of their promises resolve, und so weiter.  It is remarkable to
> me that separating the message sending from the method execution,
> results in small sequences of pending messages queued for those promise
> resolved objects.
> 
> These eventual references (objects or promises) are currenly
> compromised, as there are a few areas in squeak where the environment
> expects immediate values returned.

If nothing else, this LazyObject sums up my understanding of promises.
Well, at least what I understood when I first read this post. It won't
magically queue up messages, but it can be passed into other LazyObjects
to stack up a flurry of last-moment resolution. 

Read LazyObject>>doesNotUnderstand: to see how to crash the VM (at least
on linux, fresh CVS+3.2-4743, VMmaker 5.5). 

"The secret to answering quickly is to not understand the question." -
Confucius's hairstylist.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: LazyObject.1.cs.gz
Type: application/x-gzip
Size: 1128 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20020329/833b6f87/LazyObject.1.cs.bin


More information about the Squeak-dev mailing list