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 Basic category theory for computer scientists

    Basic category theory for computer scientists

    Benjamin C. Pierce · 1991

    Basic Category Theory for Computer Scientists provides a straightforward presentation of the basic constructions and terminology of category theory, including limits, functors, natural transformations, adjoints, and cartesian closed categories. Category theory is a branch of pure mathematics that is becoming an increasingly important tool in theoretical computer science, especially in programming language semantics, domain theory, and concurrency, where it is already a standard language of discourse. Assuming a minimum of mathematical preparation, Basic Category Theory for Computer Scientists provides a straightforward presentation of the basic constructions and terminology of category theory, including limits, functors, natural transformations, adjoints, and cartesian closed categories. Four case studies illustrate applications of category theory to programming language design, semantics, and the solution of recursive domain equations. A brief literature survey offers suggestions for further study in more advanced texts. Contents Tutorial • Applications • Further Reading

    MathematicsComputer Science
    Open LibraryAmazon
    Stats for nerds
    12recommend
    16mentions
    14people
    2008–2025years
    88% recommend13% neutral

    Mentions per year

    2008201020122014201620182020202220242025

    What Hacker News says

    1. codeismathAug 2025
      Books. Some books on my shelf covering these topics:

      "Type Theory and Functional Programming" by Simon Thompson (PDF available via quick search)

      First 120 pages of "Type Theory and Formal Proof" by Rob Nederpelt / Herman Geuvers

      For some early stuff on dependent types (also covered in the above), check out "Intuitionistic Type Theory" by Per Martin-Lof

      "Computation and Reasoning: A Type Theory for Computer Science" by Zhaouhui Luo

      "Type-Driven Development with Idris" by Edwin Brady

      "Gentle Introduction to Dependent Types with Idris" by Boro Sitnikovski

      "Types and Programming Languages" by Pierce

      "Practical Foundations for Programming Languages" by Robert Harper (or any of his YouTube videos re/Type Theory)

      "The Little Typer" by Friedman and Christiansen

      "Modal Homotopy Type Theory: The Prospect of a New Logic for Philosophy" by David Corfield (just took this one to OBX North Carolina to enjoy on my beach vacation last week! Got some salt water in those pages. Also speaks to Category Theory.)

      For Category Theory:

      "The Joy of Abstraction" (2023) by Euginia Cheng

      "Basic Category Theory for Computer Scientists" by Benjamin C. Pierce

      "Conceptual Mathematics: A first introduction to categories" by Lawvere and Schanuel

      "Categories for the Working Philosopher" by Landry

      thread
    2. eindiranJul 2020
      If you have a CS background and are looking to dig in to category theory a bit more, I would recommend checking out Benjamin Pierce's Basic Category Theory for Computer Scientists. It's a nice, concise introduction to the topic that examines a few very interesting applications to CS.

      https://www.goodreads.com/book/show/1810837.Basic_Category_T...

      thread
    3. eindiranApr 2019
      If anyone is looking to get into Category Theory as a programmer, I would recommend giving Bartosz Milewski's Category Theory for Programmers a shot[0]. Quite good, and you can read it as a blog post on that site or get the ebook/physical book to leaf through.

      For a more theoretical/less applied approach that's still relevant to computer science/programming, check out Benjamin Pierce's Basic Category Theory for Computer Scientists[1]. It's a very good introduction to the parts of Category Theory that are useful for [theoretical] CS, and delves into semantics of programming languages, types, and concurrency a fair amount.

      [0] https://bartoszmilewski.com/2014/10/28/category-theory-for-p...

      [1] https://mitpress.mit.edu/books/basic-category-theory-compute...

      thread
    4. eindiranJan 2018
      I decided to read a bit about category theory last year. I quite enjoyed "Category Theory for Programmers" as a practical introduction. You can read it online here: https://bartoszmilewski.com/2014/10/28/category-theory-for-p...

      I also read "Basic Category Theory for Computer Scientists", which was a bit less practical but very good. https://mitpress.mit.edu/books/basic-category-theory-compute...

      thread
    5. EvilTerranAug 2017
      I can vouch for TaPL - I can see it on my bookshelf from here. It's a great overview of the foundational concepts in PLT; Pierce's style is remarkable, he writes the most readable academic text I've ever seen.

      (I also own & admire his Basic Category Theory for Computer Scientists; I'm yet to brave his Advanced Topics in TaPL - I'm sure it's very good, but the contents list intimidates me.)

      thread
    6. adamnemecekJan 2017
      I'll give you a couple. Note that some of these are rehashes of my earlier comments.

      # Elements of Programming

      https://www.amazon.com/Elements-Programming-Alexander-Stepan...

      This book proposes how to write C++-ish code in a mathematical way that makes all your code terse. In this talk, Sean Parent, at that time working on Adobe Photoshop, estimated that the PS codebase could be reduced from 3,000,000 LOC to 30,000 LOC (=100x!!) if they followed ideas from the book https://www.youtube.com/watch?v=4moyKUHApq4&t=39m30s

      Another point of his is that the explosion of written code we are seeing isn't sustainable and that so much of this code is algorithms or data structures with overlapping functionalities. As the codebases grow, and these functionalities diverge even further, pulling the reigns in on the chaos becomes gradually impossible.

      Bjarne Stroustrup (aka the C++ OG) gave this book five stars on Amazon (in what is his one and only Amazon product review lol).

      This style might become dominant because it's only really possible in modern successors of C++ such as Swift or Rust, not so much in C++ itself.

      https://smile.amazon.com/review/R1MG7U1LR7FK6/

      # Grammar of graphics

      https://www.amazon.com/Grammar-Graphics-Statistics-Computing...

      This book changed my perception of creativity, aesthetics and mathematics and their relationships. Fundamentally, the book provides all the diverse tools to give you confidence that your graphics are mathematically sound and visually pleasing. After reading this, Tufte just doesn't cut it anymore. It's such a weird book because it talks about topics as disparate Bayesian rule, OOP, color theory, SQL, chaotic models of time (lolwut), style-sheet language design and a bjillion other topics but always somehow all of these are very relevant. It's like if Bret Victor was a book, a tour de force of polymathical insanity.

      The book is in full color and it has some of the nicest looking and most instructive graphics I've ever seen even for things that I understand, such as Central Limit Theorem. It makes sense the the best graphics would be in the book written by the guy who wrote a book on how to do visualizations mathematically. The book is also interesting if you are doing any sort of UI interfaces, because UI interfaces are definitely just a subset of graphical visualizations.

      # Scala for Machine Learning

      https://www.amazon.com/Scala-Machine-Learning-Patrick-Nicola...

      This book almost never gets mentioned but it's a superb intro to machine learning if you dig types, scalable back-ends or JVM.

      It’s the only ML book that I’ve seen that contains the word monad so if you sometimes get a hankering for some monading (esp. in the context of ML pipelines), look no further.

      Discusses setup of actual large scale ML pipelines using modern concurrency primitives such as actors using the Akka framework.

      # Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques for Building Intelligent Systems

      https://www.amazon.com/Hands-Machine-Learning-Scikit-Learn-T...

      Not released yet but I've been reading the drafts and it's a nice intro to machine learning using modern ML frameworks, TensorFlow and Scikit-Learn.

      # Basic Category Theory for Computer Scientists

      https://www.amazon.com/gp/product/0262660717/ref=as_li_ss_tl...

      Not done with the book but despite it's age, hands down best intro to category theory if you care about it only for CS purposes as it tries to show how to apply the concepts. Very concise (~70 pages).

      # Markov Logic: An Interface Layer for Artificial Intelligence

      https://www.amazon.com/Markov-Logic-Interface-Artificial-Int...

      Have you ever wondered what's the relationship between machine learning and logic? If so look no further.

      # Machine Learning: A Probabilistic Perspective (Adaptive Computation and Machine Learning series)

      https://www.amazon.com/gp/product/0262018020/ref=as_li_ss_tl...

      Exhaustive overview of the entire field of machine learning. It's engaging and full of graphics.

      # Deep Learning

      https://www.amazon.com/gp/product/0262035618/ref=as_li_ss_tl...

      http://www.deeplearningbook.org/

      You probably have heard about this whole "deep learning" meme. This book is a pretty self-contained intro into the state of the art of deep learning.

      # Designing for Scalability with Erlang/OTP: Implement Robust, Fault-Tolerant Systems

      https://www.amazon.com/Designing-Scalability-Erlang-OTP-Faul...

      Even though this is an Erlang book (I don't really know Erlang), 1/3 of the book is devoted to designing scalable and robust distributed systems in a general setting which I found the book worth it on it's own.

      # Practical Foundations for Programming Languages

      https://www.amazon.com/gp/product/1107150302/ref=as_li_ss_tl...

      Not much to say, probably THE book on programming language theory.

      # A First Course in Network Theory

      https://www.amazon.com/First-Course-Network-Theory/dp/019872...

      Up until recently I didn't know the difference between graphs and networks. But look at me now, I still don't but at least I have a book on it.

      thread

    Related

    Cover of Category theory
    2013–2021

    Category theory

    Steve Awodey
    7 recommend · 9
    Cover of Category Theory for Programmers
    2015–2026

    Category Theory for Programmers

    Bortosz Milewski
    51 recommend · 90
    Cover of Type theory and functional programming
    2014–2025

    Type theory and functional programming

    Simon Thompson
    2 recommend · 6
    Cover of Types and Programming Languages
    2008–2026

    Types and Programming Languages

    Benjamin C. Pierce
    132 recommend · 321
    Cover of Basic Category Theory
    2014–2026

    Basic Category Theory

    Tom Leinster
    7 recommend · 10
    Cover of Category theory for computing science
    2010–2025

    Category theory for computing science

    Michael Barr
    5 recommend · 7
    Cover of Type Theory and Formal Proof
    2016–2026

    Type Theory and Formal Proof

    Rob Nederpelt
    11 recommend · 15
    Cover of Algorithms and data structures
    2008–2026

    Algorithms and data structures

    Niklaus Wirth
    8 recommend · 20