Ok, here's another version of Cells, attached.  This one uses Agents,
like MikeM wrote.  It works even on a 10000-link chain of dependencies
-- see examples in the comment at the end.  Cells get updated
asynchronously via actions on Agents.  I may be missing some (dosync
...) wrappers in there.

I discovered, however, that asynchronous updates may not be what you
want!  For example, my Swing demo doesn't work correctly now -- the
red square leaves behind a trail of visual artifacts, probably because
the repaint triggers are getting called in random order from multiple
threads.  So maybe Refs were better, or maybe I'm using Agents
incorrectly.

-Stuart

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To post to this group, send email to clojure@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Attachment: acells.clj
Description: Binary data

Reply via email to