Skip to content

Instantly share code, notes, and snippets.

View jclaggett's full-sized avatar

Jonathan Claggett jclaggett

View GitHub Profile
@jclaggett
jclaggett / xflib.cljs
Created November 12, 2022 18:23
demultiplex in clojure
(ns xflib)
(defn demultiplex [n]
(if (= n 1)
identity
(let [expected-result-calls* (atom n)
shared-reducer* (atom nil)
reduced-value* (atom nil)]
(fn [r]
(if-let [shared-reducer @shared-reducer*]
(ns ezducerdemo)
;;
;; 1st take
;;
(defn ezducer [constructor]
(fn [reducer]
(let [steps (fn [a vs]
;; Use loop/recur instead of reduce to avoid reduce's