Comprendo la differenza concettuale tra reduce
e apply
:
(reduce + (list 1 2 3 4 5))
; translates to: (+ (+ (+ (+ 1 2) 3) 4) 5)
(apply + (list 1 2 3 4 5))
; translates to: (+ 1 2 3 4 5)
Tuttavia, quale è il clojure più idiomatico? Fa molta differenza in un modo o nell'altro? Dal mio (limitato) test delle prestazioni, sembra che reduce
sia un po 'più veloce.
sum
a margine , perché non includere una funzione integrata come in haskell? Sembra un'operazione abbastanza comune.