core-async

idiomancy 2019-03-30T20:44:35.052600Z

fwiw, I think I now have the best version of that

idiomancy 2019-03-30T20:44:54.052800Z

(def mchain! (comp chain! (ingo a/merge) (p a/into [])))

idiomancy 2019-03-30T20:46:01.054Z

since merge gives you results in the order they become ready, if you just compose a merge with the chain! operation, then you have a performant way to flatten out channels

idiomancy 2019-03-30T20:48:08.054800Z

ingo is just -> (defn ingo [f] (fn [c] (go (f (<! c)))))