Thanks Rich. 2008/8/30 Rich Hickey <[EMAIL PROTECTED]>
> > > > On Aug 30, 10:52 am, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> > wrote: > > In the ant simulation the world function looks like this > > > > (def world > > (apply vector > > (map (fn [_] > > (apply vector (map (fn [_] (ref (struct cell 0 0))) > > (range dim)))) > > (range dim)))) > > > > I'm not sure why the calls to '(apply vector' are required. I have two > > theories: > > > > * It is to work round the lazy nature of map and force the creation of > > all of the refs. If this is the case, can anyone enlighten me as to > > why this might be necessary? > > * It is a performance optimisation to make lookups of faster later. > > Yes, we want to look up by index, and so use a vector. > > Note that (apply vector s) is never needed now, use (vec s) instead. > > Rich > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to [email protected] 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 -~----------~----~----~----~------~----~------~--~---
