Have you checked out: http://clojure.blip.tv/file/812787?  Clojure's
author talks about agents and the other concurrency support mechanisms
in Clojure.  The latter half of the talk is a walk-through of the ant
simulation.  It's really good presentation.

- Blaine

On Dec 7, 12:56 am, "Matthew Wyatt" <[EMAIL PROTECTED]> wrote:
> Hi all,
>    I have a newbie question about Agents.  I've been looking at the ants.clj
> file:http://clojure.googlegroups.com/web/ants.clj?hl=en&gda=-X7f3joAAABoLi...
> Most of it makes sense to me, but the use of Agents is confusing.  For
> example, the line:
> (send-off animator animation)
> associates the "animator" Agent with the "animation" function, which I
> follow.  But then the animation function looks like:
> (defn animation [x]
>   (when running
>     (send-off *agent* #'animation))
>   (. panel (repaint))
>   (. Thread (sleep animation-sleep-ms))
>   nil)
>
> That third line has me lost - I don't know what *agent* is.  In Common Lisp,
> that would indicate a global variable, but no such variable is declared (two
> other functions, "evaporation" and "behave" have a similar call, and are the
> only other references to *agent* in the file).  I'm guessing it's some sort
> of reference to the agent associated with the current Action, but where is
> that documented?  Secondly, why does the function immediately send off to
> another agent?  Is this in order to "loop" the function (that is, keep
> spawning an Action to update the agent)?  If that is the case, is the
> Thread.sleep call in order to hold a reference to the agent so that the next
> Action doesn't start immediately?
>    Thanks for your time helping a newb; I'm pretty excited about Clojure,
> and can't wait to get my hands dirty with it.
> -Matt
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to