# Improving your Clojure code with core.reducers

DevFeed: [Improving your Clojure code with core.reducers](<https://devfeed.tech/articles/improving-your-clojure-code-with-core-reducers-32107.md>)

Original publisher: [Read original article](<https://adambard.com/blog/clojure-reducers-for-mortals/>)

Published: 2013-05-27T00:00:00Z

Content type: tutorial

Language: en

Sources: [Adam Bard](<https://devfeed.tech/sources/adam-bard.md>)

Topics: [Clojure](<https://devfeed.tech/topics/clojure.md>), [Library](<https://devfeed.tech/topics/library.md>), [Code](<https://devfeed.tech/topics/code.md>), [Benchmark](<https://devfeed.tech/topics/benchmark.md>)

Tags: [benchmark](<https://devfeed.tech/tags/benchmark.md>), [blog-post](<https://devfeed.tech/tags/blog-post.md>), [clojure](<https://devfeed.tech/tags/clojure.md>), [code](<https://devfeed.tech/tags/code.md>), [library](<https://devfeed.tech/tags/library.md>)

## AI overview

This tutorial explains Clojure's core.reducers library and how reducers change the way collection functions such as map, filter, and reduce are viewed. It discusses lazy sequences, combining operations into a single traversal, and the relationship to parallel map-reduce processing, with a benchmark illustrating the behavior.

## Source excerpt

Clojure is developed, maintained and documented by a cadre of extremely brainy people. This is mostly excellent news for users of clojure, but sometimes, I find myself feel a bit left behind reading about features and details of the language, especially coming from a background of procedural languages. Last year I read Rich Hickey's blog post on Clojure's new reducers library. My takeaways on reducers at the time were thus: