And 2 is yes, just to stop them at the repl by flipping a flag. Was especially useful when first coding it up.
Rich On Oct 29, 11:20 am, Stuart Halloway <[EMAIL PROTECTED]> wrote: > Hi Konrad, > > I can answer 1 and 3: > > (1) *agent* is set thread locally whenever a thread is an agent > action. It's all in the Java code, grep for AGENT > > (3) send uses a thread pool that you should not assume you control, so > blocking for e.g. I/O would be bad behavior and could hurt other > agents' ability to progress. send-off gives you your own thread so you > can't cause trouble by blocking > > Stuart > > > > > I am trying to understand Rich's ant colony demo. It is pretty clear > > overall, except for one aspect: the use of > > > (when running > > (send-off *agent* ...)) > > > in all the functions executed by the agents, where ... stands for the > > function itself. My guess is that this simply sends another request > > for the same action, making for an infinite simulation. However, I > > would like to understand how this works in detail. > > > 1) What exactly is *agent*? It looks like a reference to the agent in > > which the function is executing, but how does this work exactly? I > > didn't find any explanation in the explanation of agents on the > > Clojure Web site. > > > 2) What is the point of (when running ...) considering that running is > > set to true initially and then never changes? Is this just a way to > > stop the simulation by running (def running false) from the command > > prompt? > > > 3) What is the exact difference between send and send-off? The manual > > says the latter is for "potentially blocking functions", but what does > > that mean and what is done differently in that case? > > > (send-off Konrad understand-clojure) --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---