https://clojure.org/reference/transducers
Article
-
Transducers are composable, reusable transformation functions decoupled from data source/sink
-
Eliminate intermediate collections, reducing memory overhead in data pipelines
-
Work across lazy seqs, channels, and any reducible context
Discussion
-
Injest library praised for making transducer composition feel like normal threading macros
-
Key insight: performance wins come from eliminating intermediate collection allocations
-
Haskell and Java (Gatherers API) noted as alternatives; Scheme SRFI-171 also mentioned
Discuss on HN