Hacker Blogs
Work in progress: 15,409 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #1301

M

Matt Parsons

Personal blog · parsonsmatt.orgprogramming

Matt Parsons's personal blog at parsonsmatt.org covers programming. Since 2016, 57 different Hacker News readers have linked it 67 times, most often “Type Safety Back and Forth (2017)”. It is still writing: the last post was on 2026-03-10, and you can follow it by feed.

Visit the blog
67mentions?
57HN people?
2016–2026first – last linked?
Links on Hacker News per year · peak 12 in 2019

A series of articles on practical functional programming in Haskell

Most-linked posts?

  1. Type Safety Back and Forth (2017)
    7 people · 7 mentions · first linked 2020-06-27
  2. /2018/03/22/three_layer_haskell_cake.html
    6 people · 6 mentions · first linked 2019-01-28
  3. Names do not transmit meaning
    6 people · 6 mentions · first linked 2019-08-31
  4. Sum Types in SQL
    4 people · 4 mentions · first linked 2019-03-20
  5. Write Junior Code
    3 people · 3 mentions · first linked 2019-12-28
  6. Basic Type-Level Programming in Haskell
    3 people · 3 mentions · first linked 2017-04-26
  7. The Magic of Folds
    2 people · 2 mentions · first linked 2016-03-25
  8. An Elegant FizzBuzz
    2 people · 2 mentions · first linked 2016-03-06
  9. Haskell Proposal: Simplify Deriving
    2 people · 2 mentions · first linked 2020-11-13
  10. Three Layer Haskell Cake
    2 people · 2 mentions · first linked 2018-04-20

What Hacker News says?

  1. > If you take FP to its logical conclusion, FP is a slippery slope that eventually leads to Monad-Transformer centric designs. I don't understand what you mean by this, and I write production haskell for a living. We don't have teetering towers of transformers, and the best advice I've seen is often "put away the shiny tools and just use functions", https://lukepalmer.wordpress.com/2010/01/24/haskell-antipatt... . S…

    Comment linking /2018/03/22/three_layer_haskell_cake.html

    on “Towards Scala 3”
  2. Submitted Write Junior Code as a story · 173 points

    HN discussion
  3. > "simplest way to do BasicAuth" The simplest way to do BasicAuth in Haskell isn't Servant. I feel like you're intentionally misinterpreting what I'm saying. As for resources, here's a great intro to type-level Haskell: http://www.parsonsmatt.org/2017/04/26/basic_type_level_progr... > For some reason, functions that operate on types are called type families. That's the kind of thing you need to know. I doubt the ave…

    Comment linking /2017/04/26/basic_type_level_programming_in_haskell.html

    on “Elm in Production: 25K Lines Later”
  4. Submitted Exploratory Haskell (2015) as a story · 140 points

    HN discussion
  5. No idea how common it is. It's never been my main work language but I've been using it at work for prototyping/scripting/automation/analysis etc for at least ten years now. It looks like what I've done is most similar to https://www.parsonsmatt.org/2018/03/22/three_layer_haskell_c... And I think this was the post that proposed tagless-final over free-monads: https://markkarpov.com/post/free-monad-considered-harmful.…

    Comment linking /2018/03/22/three_layer_haskell_cake.html

    on “OCaml as my primary language”
  6. Submitted Basic Type-Level Programming in Haskell as a story · 120 points

    HN discussion
  7. A response to the common proposal of “we should call functors Mappables instead”: Names Do Not Transmit Meaning, https://www.parsonsmatt.org/2019/08/30/why_functor_doesnt_ma...

    Comment linking /2019/08/30/why_functor_doesnt_matter.html

    on “Functors and Monads for People Who Have Read Too Many “Tutorials””
  8. Submitted Names do not transmit meaning as a story · 51 points

    HN discussion
  9. The best resource for me has been Matt Parsons' blog: https://www.parsonsmatt.org/

    Comment linking /

    on “Learning Haskell is no harder than learning any other programming language”
  10. Submitted Spooky Masks and Async Exceptions as a story · 6 points

    HN discussion
  11. > Thank you, I've read the links, but without an example of Haskell/Scala code the benefits for any particular real problem are not clear to me. Do you have cases where you've used AOP/reflection/metaclasses/decorators/macros or similar "magic"? (Exceptions or mutable variables sort of work as examples, but most people don't have experience of working on codebases that don't have them). It's hard to give simple exam…

    Comment linking /2018/03/22/three_layer_haskell_cake.html

    on “D is being used for autonomous driving research – Audi and Mercedes”
  12. Submitted Incremental API Takeover with Haskell Servant as a story · 6 points

    HN discussion
  13. Engineer vs mathematician. Haskell is the schizophrenic product. > If I come to an existing OCaml project, the worst thing previous developers could do to it is have poor variable names, minimal documentation, and 200+ LOC functions. That’s fine, nothing extraordinary, I can handle that. > > If I come to an existing Haskell project, the worst thing previous developer>s could do… Well, my previous 8 years of Haskell…

    Comment linking /2019/12/26/write_junior_code.html

    on “8 months of OCaml after 8 years of Haskell in production (2023)”
  14. Submitted Haskell Proposal: Simplify Deriving as a story · 4 points

    HN discussion
  15. GetData is `Maybe a` (what means it's not a function). GetMoreData is `a -> Maybe b`. And so on. What means that those variables do not do what their names are claiming they do. It's a case of an example that lost its meaning once carried to a too different context. By the way, if you are wondering how functions that actually get data would look, there's a great architecture here: http://www.parsonsmatt.org/2016/11/…

    Comment linking /2016/11/18/clean_alternatives_with_maybet.html

    on “Escaping Hell with Monads (2017)”
  16. Submitted Basic Type Level Programming in Haskell as a story · 4 points

    HN discussion
  17. I thought the first example in this blog post on TH was an interesting idea: https://www.parsonsmatt.org/2015/11/15/template_haskell.html

    Comment linking /2015/11/15/template_haskell.html

    on “Haskell Fan Site”
  18. Submitted The Magic of Folds as a story · 4 points

    HN discussion
  19. Servant. It takes a while to pick it up but it's well worth the effort. You end up with an automatically documented type safe API and you can even generate client functions for other languages using Swagger based on the spec. It has excellent documentation too, the only hard part really is figuring out the handler pattern. As for the SQL story, that's more fragmented. I'm still trying to figure out the best next ste…

    Comment linking /2016/07/08/servant-persistent_updated.html

    on “A Dead-Simple Web Stack in Haskell”
  20. Submitted Proving with Types as a story · 4 points

    HN discussion
  21. At first sight I’ve read “an object-oriented Haskell book”. [brief pause for contemplating the thought] Naturally, someone went there: https://www.parsonsmatt.org/tutorials/

    Comment linking /tutorials/

    on “Learn Haskell by building a blog generator – a project-oriented Haskell book”
  22. Submitted Haskell Proposal: Simplify Deriving as a story · 3 points

    HN discussion
  23. So totally different function, I meant by double to turn [1,2] into [2,4], however that's a really neat example. I hadn't seen the family extension in Haskell before. You're right there is a ton more to type systems than I was aware of. I was following some links in this thread and found this as well: https://www.parsonsmatt.org/2017/10/11/type_safety_back_and_... . I was less than impressed with type systems becaus…

    Comment linking /2017/10/11/type_safety_back_and_forth.html

    on “Six Years of Professional Clojure”
  24. Submitted How do Haskell's type classes differ from interfaces? as a story · 3 points

    HN discussion
  25. The capability pattern that Data Has implements is definitely used in other projects[1], and notably is endorsed by RIO[2]. [1] https://github.com/input-output-hk/cardano-sl [2] https://github.com/commercialhaskell/rio#monads Elaboration: https://www.parsonsmatt.org/2018/03/22/three_layer_haskell_c...

    Comment linking /2018/03/22/three_layer_haskell_cake.html

    on “Haskell in Production”
  26. Submitted The Magic of Folds (2016) as a story · 3 points

    HN discussion
  27. Three techniques for sum types in SQL (absorption, separation, and partition): https://www.parsonsmatt.org/2019/03/19/sum_types_in_sql.html Also, here is a relational database system with native support for sum types (and also no "NULL" nonsense, which is also not part of pure relational algebra): https://github.com/agentm/project-m36

    Comment linking /2019/03/19/sum_types_in_sql.html

    on “Old, Good Database Design”
  28. Submitted Why 'Functor' Doesn't Matter (2019) as a story · 2 points

    HN discussion
  29. If you are curious this is a good read: https://www.parsonsmatt.org/2017/01/07/how_do_type_classes_d...

    Comment linking /2017/01/07/how_do_type_classes_differ_from_interfaces.html

    on “Dependent Haskell Is the Future (2018)”
  30. Submitted Type Safety Back and Forth as a story · 2 points

    HN discussion

Search all of HN for parsonsmatt.org

Linked by the same people?