Skip to content

Instantly share code, notes, and snippets.

@aphyr
Created December 21, 2021 20:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aphyr/d0fd20d097f1a6084807be60cd47b48a to your computer and use it in GitHub Desktop.
Save aphyr/d0fd20d097f1a6084807be60cd47b48a to your computer and use it in GitHub Desktop.
loopr single-accumulator reductions
user=> (-> '(dt/loopr [sum 0] [x xs, y ys] (recur (+ sum x y))) macroexpand pprint)
(let* [sum 0
sum (clojure.core/reduce
(clojure.core/fn reduce-x-2690 [sum x]
(clojure.core/reduce (clojure.core/fn reduce-y-2692 [sum y]
(. clojure.lang.Numbers (add (. clojure.lang.Numbers (add sum x)) y)))
sum
ys))
sum
xs)]
sum)
user=> (-> '(dt/loopr [sum 0] [x xs] (recur (+ sum x))) macroexpand pprint)
(let* [sum 0
sum (clojure.core/reduce
(clojure.core/fn reduce-x-2686 [sum x]
(. clojure.lang.Numbers (add sum x)))
sum
xs)]
sum)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment