Squeak
  links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
LazyObject
Last updated at 5:05 pm UTC on 16 January 2006
LazyObject.cs.gz

This object has a certain duality (i.e., refactor? Already?) in being both a bubble block and a message queue. it is initialized with new:ablock, ablock's #value is what this object will become just before recieving a message. However, if #loQueue is sent before a message, that message is queued. My current thinking is that only self-altering messages should be queued, so loQueue-d return values are discarded.
The real reason/use for this? I can't think of one, but it did give me a chance to peek deeper into the message sending system. It's future? Threading, MWAHAHAHA! (well, it sounds cool.)

Warning - minor base class change - Object>>becomeForward: is moved to ProtoObject.

Atchung - this answers a question nobody asked, take appropriate precautions.

Mxyzptlk - I make no representation of understanding error handling, this may still send your image into the 5th dimension.

Ichbein ein Javer - Smallintegers aren't handled correctly.