Skip to content
HomeVideos
AllLongsCategoriesPlaylists
BooksBlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    "Transducers" by Rich Hickey

    Strange Loop Conference

    6 HN recommenders · recommended in 7 months, 2014–2025

    YouTube

    45:00 · 116K views · Sep 19, 2014

    Rich Hickey introduces transducers in Clojure, a way to make map, filter and similar algorithms composable independent of the data source. This avoids duplicated implementations and intermediate collections across sequences, channels and streams.

    HN treats it as the original and definitive explanation of transducers, recommended whenever the concept comes up.

    Software Engineering & LanguagesFunctional programmingSoftware architecture & design
    1. 2:32:39
      Clojure Concurrency - Rich HickeyClojureTV73K views • 13 years ago
    2. 1:01:39
      "Simple Made Easy" - Rich Hickey (2011)ClojureTV434K views • 5 years ago
    3. 1:02:50
      The Language of the System - Rich HickeyClojureTV174K views • 13 years ago
    4. 1:14:52
      Effective Programs - 10 Years of Clojure - Rich HickeyClojureTV176K views • 9 years ago
    5. 4:57
      Rich Hickey rants about HttpServletRequest in 1080p: Death By Specificity from Clojure Made SimpleFred Overflow43K views • 6 years ago
    6. 53:56
      Expert to Expert: Rich Hickey and Brian Beckman - Inside Clojurejasonofthel33t119K views • 13 years ago
    7. 1:28:59
      Clojure for Lisp Programmers Part 1 - Rich HickeyClojureTV25K views • 13 years ago
    8. 1:10:05
      Are We There Yet - Rich HickeyZhang Jian24K views • 7 years ago
    9. 1:48:13
      Clojure for Java Programmers Part 1 - Rich HickeyClojureTV131K views • 13 years ago
    10. 1:03:29
      Maybe Not - Rich HickeyClojureTV181K views • 7 years ago
    11. 1:16:14
      Spec-ulation Keynote - Rich HickeyClojureTV136K views • 9 years ago
    12. 1:06:24
      Rich Hickey: Deconstructing the DatabaseInfoQ106K views • 14 years ago
    13. 39:49
      Hammock Driven Development - Rich HickeyClojureTV333K views • 13 years ago
    14. 36:53
      Rails Conf 2012 Keynote: Simplicity Matters by Rich HickeyConfreaks220K views • 14 years ago
    15. 1:12:56
      Lecture 1A: Overview and Introduction to LispMIT OpenCourseWare421K views • 7 years ago
    16. 1:05:51
      The Functional Programmer's Toolkit - Scott WlaschinNDC Conferences79K views • 7 years ago
    17. 31:44
      The Value of Values with Rich HickeyInfoQ145K views • 14 years ago
    18. 50:01
      Simplicity Ain't Easy - Stuart HallowayClojureTV24K views • 13 years ago
    19. 1:31:06
      William Byrd on "The Most Beautiful Program Ever Written" [PWL NYC]PapersWeLove367K views • 9 years ago
    20. 39:21
      Functional Composition - Chris FordClojureTV31K views • 13 years ago

    9 comments from Hacker News

    1. @jwrNov 2025· in “Transducer: Composition, abstraction, performance (2018)”

      Transducers are IMHO one of the most under-appreciated features of Clojure. If you want a really good intro, watch Rich Hickey's talk about transducers: this video (Rich is an excellent speaker and most of his talks are really worth watching, even if you don't use Clojure). The thing about transducers is that once you start using them, the abstractions click in your mind and you start using them more and more in your code. Many things our software does can be looked at as pipelines, and transducers let you write composable functions and put them together into pipelines. As you see more pipelines in your code, you will write those composable functions and reuse them in various places. Experienced Clojure programmers will rarely use loops, for me transducers are the #1 choice whenever I have to process a collection of any kind. Their efficiency (no intermediate collections!) is a nice bonus — you get both high-level composable code and efficiency, which is incredible. One thing I dislike about transducers is when I need a stateful one: these are hard to understand and very difficult to write. I rarely do this, except when I really want to stick to the transducer abstraction and I have a couple of hours to spend on a puzzle. But you rarely need to write your own stateful transducers, usually the built-in ones are enough (things like take/drop).

      Strongly recommendsView on HN
    2. @ThatGeoGuyAug 2024· in “Reflecting on transducers in Scheme (2023)”

      Quick nit/question. For the fold method, I don't think I've seen it called sentinel value. Usually it is seed or initial? I think in Scheme it is common to call it knil, mirroring how lists use nil as the "sentinel" value which marks the end of a proper list. I opted to name it sentinel in that article (and in the docs) for two reasons: 1. Sentinel values are a common topic in many languages [LINK] 2. Transducers necessarily abstract across a lot more than loops / lists. Lisps do a lot of really cool (and optimized) stuff with lists alone and Scheme is no different in this regard. However, because of how Scheme primarily exports list operations in (scheme base) is really easy to run into a situation where lists are used in an ad-hoc way where another data structure is more appropriate. This includes vectors, sets, mappings, hashmaps, etc. Transducers-the-library is meant to be general across operations that work on all of these types, so I chose language that intentionally departs from thinking in a list-focused way. Now, my main question. Transducer? I'm curious on the etymology of that word. By itself, I don't think I could ever guess what it was referencing. :( This is from Rich Hickey's presentation: this video It's not a reducer, because they serve as higher-order functions that operate on reducers. Instead, the values they accept are transient through the function(s), so they transduce. You should watch the video, I think Rich explains the origins of his language very well

      RecommendsView on HN
    3. @devinSep 2023· in “My mental model of Clojure transducers”

      Rich gave a talk on this, and there is an associated HN thread for the talk, but some of you may be interested in the original transducers presentation. You can view it here: this video

      RecommendsView on HN
    4. @ultimapeNov 2014· in “Rich Hickey – Inside Transducers [video]”

      Here's another video by Rick Hickey about transducers: this video - it was referenced in this great post detailing the transducer notion with Clojure, Scala, and Haskell: [LINK]

      RecommendsView on HN
    5. @talkingtabNov 2022· in “Why would anyone need JavaScript generator functions?”

      Transducers. See Richard Hickey's talk about transducers here: this video You can implement transducers in JavaScript using generators. It was somewhat mind bending but fun.

      RecommendsView on HN