2 ms·
Because mapcat's signature was not amenable to the additional arity, there's now also flatmap (note you can write the lazy collection version of any transducer
by richhickey 12y ago
Because mapcat's signature was not amenable to the additional arity, there's now also flatmap (note you can write the lazy collection version of any transducer fn using sequence as below):
(defn flatmap
"maps f over coll and concatenates the results. Thus function f
should return a collection. Returns a transducer when no collection
is provided."
([f]
(fn [f1]
(fn
([] (f1))
([result] (f1 result))
([result input]
(reduce (preserving-reduced f1) result (f input))))))
([f coll] (sequence (flatmap f) coll)))