Re: Cells in Clojure

2008-09-22 Thread Stuart Sierra
Ok, here's another version of Cells, attached. This one uses Agents, like MikeM wrote. It works even on a 1-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

Re: Cells in Clojure

2008-09-22 Thread Rich Hickey
> > I've often thought of providing change notification queues on the > > agents themselves, letting Clojure do reactive programming right out > > of the box. > > This sounds like a powerful capability to have, if only to be able to > trace agent changes easily for debugging and monitoring. Would

Re: Cells in Clojure

2008-09-22 Thread MikeM
> "If during the function execution any other dispatches are made > (directly or indirectly), they will be held until after the state of > the Agent has been changed." > > That means that if, as a result of an update, some agent sends > messages to others, they will definitely arrive after the or

Re: "Star-Vars" for the repl to provide recent values, shorten error messages

2008-09-22 Thread Stuart Sierra
Thanks, Steve, Rich. This is useful. -Stuart On Sep 18, 8:36 pm, Rich Hickey <[EMAIL PROTECTED]> wrote: > On Sep 18, 6:02 pm, "Stephen C. Gilardi" <[EMAIL PROTECTED]> wrote: > > Thanks Rich, I've uploaded star-vars-2.patch to the file area of the > > Clojure group which implements these changes.

Re: Cells in Clojure

2008-09-22 Thread Rich Hickey
On Sep 22, 12:07 pm, MikeM <[EMAIL PROTECTED]> wrote: > > On second thought, maybe Agents will work, if one can enforce the > > ordering of updates. > > "Actions dispatched to an agent from another single agent or thread > will occur in the order they were sent" (from clojure.org/agents) - > see

Re: Cells in Clojure

2008-09-22 Thread MikeM
> On second thought, maybe Agents will work, if one can enforce the > ordering of updates.   "Actions dispatched to an agent from another single agent or thread will occur in the order they were sent" (from clojure.org/agents) - seems like this may be helpful, but since updates can occur from mu

Re: Cells in Clojure

2008-09-22 Thread Stuart Sierra
On Sep 21, 11:45 pm, Stuart Sierra <[EMAIL PROTECTED]> wrote: > Pondering aloud here: The critical property of a Cell is that it is > completely finished updating before any of its dependent ("child") > cells are updated. Does this property still hold when using Agents > instead of Refs? I'm no

Re: "Getting Started" is NOT starting for me...

2008-09-22 Thread hoeck
Hi, same on my win2k machine, the first time a messageDialog or a swing window is shown, it pops behind whatever application is currently running. This includes the clojure repl running in windows cmd.exe or (x)emacs. When opening a messageDialog the second time, it appears on top of all other wi