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
-~----------~----~----~----~------~----~------~--~---

Reply via email to