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 Parallel And Concurrent Programming In Haskell

    Parallel And Concurrent Programming In Haskell

    Simon Marlow · 2013

    "Parallel and Concurrent Programming in Haskell" is a book which describes some of the mechanisms for programming parallel and concurrent systems in Haskell.

    Lisp & FunctionalProgrammingSystems & OS
    Open LibraryAmazon
    Stats for nerds
    24recommend
    34mentions
    31people
    2013–2025years
    74% recommend26% neutral

    Mentions per year

    2013201520172019202120232025

    What Hacker News says

    1. mietekNov 2025
      Threads and locks are fundamentally the wrong abstraction for most scenarios. This is explained in complementary ways in two of the finest technical books ever written, Joe Armstrong's "Programming Erlang" and Simon Marlow's "Parallel and Concurrent Programming in Haskell". I highly recommend both.

      Thank you for many fond memories of playing Glider and Pararena.

      thread
    2. iso8859-1Aug 2024
      Parallel and Concurrent Programming in Haskell

      https://simonmar.github.io/pages/pcph.html

      thread
    3. valcron1000Jun 2024
      I recommend reading "Parallel and Concurrent Programming in Haskell" by Simon Marlow in which he explains that back in 1997 he decided to "build concurrency right into the core of the system rather than making it an optional extra or an add-on library".
      thread
    4. SyzygiesSep 2022
      Haskell can be a beautiful small language. One can enjoy it like a walk in the woods, without worrying about which typeclass models our light cone in the universe.

      My first functional language was APL; I later moved from C to Standard ML. I loved Scheme till I realized I was camping, it was getting late, and I needed to build a shelter from Y-shaped twigs. Somehow OCaml never took for me, but reading a few of its source code modules was an efficient crash course for coding in a functional language.

      What is the dream that these languages and Haskell aspires to realize? We want to slice computations in arbitrary ways and manipulate the parts as algebra. This dream of many since the first Lisp meets resistance from those who don't love algebra, but one cannot fault the aspiration: Find a way we can all code with more leverage, less effort.

      Pretend Haskell is as small as APL or Scheme. Ignore those who scoff at your primitive avoidance of an emerging Haskell pattern.

      I highly recommend Simon Marlow's "Parallel and Concurrent Programming in Haskell". I don't know any language that handles parallel as gracefully, and one can read this book without ever seeing an >=> or <=<.

      thread
    5. dundariousFeb 2022
      You make a good point about IO, I forgot how it's also not great about errors (but isn't there are an IO monad with better error treatment? -- it has been several years...). I also agree about granularity and tedium, but that's orthogonal to whether exceptions are the best way to approach such errors, and I don't think they are. Even Go's approach of explicit if-return is not tedium to me, but there are even less tedious approaches, that still let you handle the handle-able errors and do some last-ditch cleanup or just panic on the unhandle-able ones like indexing errors.

      The interesting thing about Haskell exceptions are the async ones and the ability to `throwTo`, but I never really had a use for that, so on the whole, that was a bit of an encumbrance too. It's like trying to write exception safe C++ -- tedious and easy to get wrong. I remember a fair few sections of Parallel and Concurrent Programming in Haskell that temporarily didn't handle exceptions correctly, and it often wasn't for pure pedagogical reasons. Great book though.

      thread
    6. rotiferJun 2020
      Here are some books that have stood out for me. They cover some of the technologies that I either have to work with, or am personally interested in.

      Effective Java by Joshua Bloch

      Practical, actionable guidelines. The first edition was the best, the second was diluted somewhat by having to cover generics, in the third he admits that he doesn't really use Java much anymore... Despite that, it's well-written and still a good book.

      The Linux Programming Interface by Michael Kerrisk

      Covers some of the history of the Linux/Unix API, describes it in detail, has plenty of examples, compares different APIs that do similar things so you can make an informed choice (e.g. System V vs. POSIX message queues).

      If any book in this list stands out for me, it's probably this one. It might be partly due to the surprise factor of how enjoyable and well-written a 1000+ page, near-reference book is.

      Programming in Haskell by Graham Hutton

      An intro to the language and how to approach problem solving from a functional P.O.V. Not as comprehensive as some other intros to Haskell, but Hutton is a good writer and educator, making it a good read.

      Designing Data-Intensive Applications by Martin Kleppmann

      Provides an overview of a number of topics related to databases, distributed systems, consensus, etc. Lots of references (many of them online) if you like that in a book. Enjoyable to read.

      Parallel and Concurrent Programming in Haskell by Simon Marlow

      Probably a must-read if you're into Haskell; probably too esoteric if you're not... Well written.

      Type-Driven Development with Idris by Edwin Brady

      Describes a programming language similar to Haskell, but strict by default and with dependent types designed-in from the start. Also describes techniques for leveraging the type system to construct functions (the type-driven part of the title). Well written.

      Hacker's Delight by Henry S. Warren

      Low-level bit twiddling. 'Nuff said.

      thread

    Related

    Cover of Real World Haskell
    2008–2026

    Real World Haskell

    Bryan O'Sullivan
    122 recommend · 250
    Cover of Functional Programming in C++
    2019–2026

    Functional Programming in C++

    Ivan Cukic
    3 recommend · 6
    Cover of Structure and Interpretation of Computer Programs
    2007–2026

    Structure and Interpretation of Computer Programs

    Harold Abelson
    347 recommend · 761
    Cover of Programming in Haskell
    2008–2024

    Programming in Haskell

    Graham Hutton
    34 recommend · 58
    Cover of Haskell Data Analysis Cookbook
    2014–2018

    Haskell Data Analysis Cookbook

    Nishant Shukla
    4 recommend · 8
    Cover of On LISP
    2007–2026

    On LISP

    Paul Graham
    192 recommend · 533
    Cover of Real-world functional programming
    2009–2023

    Real-world functional programming

    Tomas Petricek
    12 recommend · 19
    Cover of Learn You a Haskell for Great Good!
    2009–2026

    Learn You a Haskell for Great Good!

    Miran Lipovača
    237 recommend · 456