Yes areduce is preferred if applicable. David
On Tue, Apr 8, 2014 at 3:01 PM, Yehonathan Sharvit <[email protected]> wrote: > I have discovered that *areduce* is also very fast: > > (areduce a i res 0 (+ res (aget a i))) > > I feel that it preserves the functional programming spirit. > > Any comment on that, David? > > > > On Tue, Apr 8, 2014 at 9:44 AM, Yehonathan Sharvit <[email protected]>wrote: > >> Thanks David! >> >> I see that ClojureScript can deal with js arrays both with: >> 1. aget and alength >> 2. get and count >> >> The first option is much much faster!!! >> >> >> >> >> On Tue, Apr 8, 2014 at 12:38 AM, David Nolen <[email protected]>wrote: >> >>> On Mon, Apr 7, 2014 at 5:26 PM, Yehonathan Sharvit <[email protected]>wrote: >>> >>>> (defn my-sum[a] >>>> (def res 0) >>>> (doseq [x a] >>>> (set! res (+ res x ))) >>>> res) >>>> >>> >>> def's are always top-level. Do not put def's in def's like this. >>> >>> (defn my-sum [a] >>> (loop [i 0 sum 0] >>> (if (< i (alength a)) >>> (recur (inc i) (+ sum (aget a i)) >>> sum))) >>> >>> Should give similar performance to the version you wrote in JavaScript. >>> >>> David >>> >>> -- >>> Note that posts from new members are moderated - please be patient with >>> your first post. >>> --- >>> You received this message because you are subscribed to a topic in the >>> Google Groups "ClojureScript" group. >>> To unsubscribe from this topic, visit >>> https://groups.google.com/d/topic/clojurescript/ex2GmRMQCXQ/unsubscribe. >>> To unsubscribe from this group and all its topics, send an email to >>> [email protected]. >>> To post to this group, send email to [email protected]. >>> Visit this group at http://groups.google.com/group/clojurescript. >>> >> >> >> >> -- >> "Are we what we become or do we become what we are?" - Prof. Beno Gross >> > > > > -- > "Are we what we become or do we become what we are?" - Prof. Beno Gross > > -- > Note that posts from new members are moderated - please be patient with > your first post. > --- > You received this message because you are subscribed to the Google Groups > "ClojureScript" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/clojurescript. > -- Note that posts from new members are moderated - please be patient with your first post. --- You received this message because you are subscribed to the Google Groups "ClojureScript" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/clojurescript.
