Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
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
    Cover of Purely functional data structures

    Purely functional data structures

    Chris Okasaki · 1998

    This book describes data structures and data structure design techniques for functional languages.

    Lisp & FunctionalComputer ScienceProgramming
    Open LibraryAmazon
    Stats for nerds
    87recommend
    209mentions
    155people
    2007–2026years
    60% recommend39% neutral1% critical

    Mentions per year

    20072009201120132015201720192021202320252026

    What Hacker News says

    1. wanderer2323Jul 2026
      A good place to plug my favorite thesis to read: Okasaki’s “purely functional data structures” https://www.cs.cmu.edu/~rwh/students/okasaki.pdf .

      Very soothing and moves fast.

      thread
    2. quotemstrMay 2026
      There are books about languages, and then there are books about timeless truths. The former? Toilet paper. The latter? Treasures. Worth reading:

      - Okasaki, Purely Functional Data Structures https://www.cs.cmu.edu/~rwh/students/okasaki.pdf

      - The Garbage Collection Handbook https://gchandbook.org/

      - The Dragon Book - https://faculty.sist.shanghaitech.edu.cn/faculty/songfu/cav/... (yes, it's old, but I still like the end-to-end, all-in-one intro)

      - Windows Internals - https://learn.microsoft.com/en-us/sysinternals/resources/win...

      - Structure and Interpretation of Computer Programs - https://web.mit.edu/6.001/6.037/sicp.pdf

      - Concurrency Control and Recovery in Database Systems - https://www.microsoft.com/en-us/research/people/philbe/book/

      - Crafting Interpreters - https://craftinginterpreters.com/

      - What Every Programmer Needs to Know About Memory - https://people.freebsd.org/~lstewart/articles/cpumemory.pdf (the best thing Ulrich Drepper ever did)

      - An Introduction to Modern Cryptography - https://eclass.uniwa.gr/modules/document/file.php/CSCYB105/R...

      A good programming book gets better with age. If it's really about ideas and uses this or that technology for exposition, so much the better: the more remote in time the grammar of the examples, the more you can focus on the ideas. SICP being in Scheme is an advantage because you don't know Scheme yet; Windows Internals being about Windows teaches you generally good lessons in OS design by forcing you to contemplate a system alien to the Unix you probably know better.

      It's shocking how many of these seminal books are available for free and how few people read them. Yes, yes, you can get the same information from an LLM, but an LLM won't give you the guided tour through the whole rugged ideas-space and show you a reasonable peak. Order, emphasis, and expository style build intuition, so books (especially old ones) are worth reading.

      thread
    3. boisterousnessMay 2026
      These are good ...

      "Python for Data Analysis" by McKinney (2018)

      "The Go Programming Language" by Donovan and Kernighan (2016)

      "Hacker's Delight" by Warren (2013)

      "Algorithm Design Manual" by Skiena (2008)

      "Purely Functional Data Structures" by Okasaki (1998)

      "Structure and Interpretation of Computer Programs" by Abelson and Sussman (1985)

      thread
    4. throwaway81523Apr 2026
      I mean there's a whole book about this, "Purely Functional Data Structures" (2009) by Chris Okasaki.
      thread
    5. eruMay 2025
      The 'radix trick' also works for data structures.

      Okasaki's book 'Purely Functional Data Structures' has some nice examples.

      thread
    6. KingMobJan 2025
      > My main gripe with immutability is that making updated data requires building a full copy of the data again with the changes.

      That's not generally true. Many immutable languages are using "persistent" data structures, where "persist" here means that much of the original structure persists in the new one.

      For more, see:

      - Purely Functional Data Structures by Okasaki: https://www.cs.cmu.edu/~rwh/students/okasaki.pdf - Phil Bagwell's research - e.g., https://infoscience.epfl.ch/record/64398/files/idealhashtree...

      thread

    Related

    Cover of Pearls of functional algorithm design
    2011–2024

    Pearls of functional algorithm design

    Bird, Richard
    17 recommend · 29
    Cover of Structure and Interpretation of Computer Programs
    2007–2026

    Structure and Interpretation of Computer Programs

    Harold Abelson
    347 recommend · 761
    Cover of On LISP
    2007–2026

    On LISP

    Paul Graham
    192 recommend · 533
    Cover of Practical Common Lisp
    2007–2026

    Practical Common Lisp

    Peter Seibel
    218 recommend · 400
    Cover of Let  Over Lambda
    2008–2026

    Let Over Lambda

    Doug Hoyte
    66 recommend · 127
    Cover of Functional Programming In Scala
    2013–2026

    Functional Programming In Scala

    Paul Chiusano
    33 recommend · 73
    Cover of Lisp in Small Pieces
    2007–2026

    Lisp in Small Pieces

    Christian Queinnec
    101 recommend · 246
    Cover of Real World Haskell
    2008–2026

    Real World Haskell

    Bryan O'Sullivan
    122 recommend · 250