The Incredible Machine and other simulations

Jecel Assumpcao Jr jecel at merlintec.com
Tue Oct 23 23:23:19 UTC 2001


On Monday 22 October 2001 19:40, Alan Kay wrote:
> This is a good time to get interested in this, because there are
> forces afoot within SqC to get to the next level of these concerns.
> We'd love to work with you on some of this.

I had some interesting discussions with Marcio Marchini (LindaTalk) 
about the Agora system he developed with Luiz Fernando Bier Melgarejo 
back when I was creating my own NeoLogo language. Their system was 
related to LindaTalk in that both sending and receiving messages was 
explicit.

I thought having implicit message reception would make things simpler, 
so I changed their "agora" to a "group". An object can #join: or 
#leave: a group at any time and can belong to many different groups at 
once. The group is like a proxy in that it simply forwards any message 
sent to it to all of its current members. This was used to implement an 
"push only" event system - you just join the Mouse group to receive 
messages like #mouseDown and #mouseUp, the Keyboard group to receive 
#keyDown: messages or the Clock group to receive #step. But there are 
also many interesting application level groups that you can create 
(join the TeamA group to receive messages from the coach).

This could be implemented either sequentially or concurrently. I left 
it up to each individual object to decide this. There was also a "when" 
command for creating deamons to keep track of boolean expressions like 
in Flex or in the Logo books (but not implementations, as far as I 
know). But I found that I didn't need this as much as before I had 
groups.

-- Jecel




More information about the Squeak-dev mailing list