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.

Reply via email to