Facilitating the spread of knowledge and innovation in professional software development



Choose your language

InfoQ Homepage Presentations Understanding Core Clojure Functions

Understanding Core Clojure Functions



Jonathan Graham presents how to implement our own versions of the Clojure functions reduce, count, filter, map and pmap. The pace starts gently for those with little Clojure experience to follow, but then dives deep to provide a full understanding.


Dr. Jonathan Graham has a passion for code, music, art and science. He has developed drugs for GlaxoSmithKline, live-coded Clojure during music gigs around the world, and has contributed to massive art installations. Jonathan works at 8th Light, and is a co-founder of Mined Minds.

About the conference

Software is Changing the World. QCon empowers software development by facilitating the spread of knowledge and innovation in the developer community. A practitioner-driven conference, QCon is designed for technical team leads, architects, engineering directors, and project managers who influence innovation in their teams.

We need your feedback

How might we improve InfoQ for you

Thank you for being an InfoQ reader.

Each year, we seek feedback from our readers to help us improve InfoQ. Would you mind spending 2 minutes to share your feedback in our short survey? Your feedback will directly help us continually evolve how we support you.

Take the Survey

Recorded at:

May 11, 2016

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • Error on slides

    by Simon Polak,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Looks like the my-reduce function from slides has an error in it. The recursive call should be (my-reduce f (f (first coll)) (rest coll)). Also this this function will blow the stack pretty soon :P (I'm only 7 mins in the talk though, he will probably point that out.)

  • Re: Error on slides

    by Simon Polak,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Oh, my mistake. There should be a val in (f val (first coll)).

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p


Is your profile up-to-date? Please take a moment to review and update.

Note: If updating/changing your email, a validation request will be sent

Company name:
Company role:
Company size:
You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.