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 · #553

E

Eric Normand's Website

Personal blog · lispcast.com · on HN as ericnprogramming

Eric Normand's Website is a personal blog at lispcast.com about programming. Since 2007, 108 different Hacker News readers have linked it 158 times, most often “Clojure and Types”. It is still writing: the last post was on 2025-12-16, and you can follow it by feed.

Visit the blog
158mentions?
10recommend?
108HN people?
2007–2022first – last linked?
Links on Hacker News per year · peak 21 in 2015

Sometimes recommended · 10 of 37 sampled comments recommend it?

Why HN links it

HN readers link Eric Normand's LispCast essays on Clojure and typing, nil punning, and SOLID principles in Clojure. Commenters use them to explain these points or to argue the static-versus-dynamic typing debate.

Recommended for · 10 comments
Called better explained than commenters could manage, the best argument for dynamic types, and more mature than a rant.

Summarised by Claude from a sample of 37 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.

The author on HN?

ericn · 233 karma · member since 2010

http://www.lispcast.com/

From their public HN profile, which links to this site.

Most-linked posts?

  1. Clojure and Types
    9 people · 12 mentions · first linked 2018-01-27
  2. Should Cognitect Do More for Clojure?
    5 people · 5 mentions · first linked 2017-05-25
  3. The Most Used Clojure Expressions
    4 people · 4 mentions · first linked 2015-11-14
  4. Church vs. Curry Types
    4 people · 4 mentions · first linked 2014-07-16
  5. Clojure Error Messages Are Accidental
    4 people · 4 mentions · first linked 2018-06-29
  6. Nil punning
    3 people · 7 mentions · first linked 2018-05-01
  7. The User Wizard Scenario
    3 people · 3 mentions · first linked 2020-09-28
  8. SOLID Principles in Clojure
    3 people · 3 mentions · first linked 2015-11-09
  9. Clojure vs. The Static Typing World
    2 people · 2 mentions · first linked 2017-10-27
  10. 5 Differences between clojure.spec and Schema
    2 people · 2 mentions · first linked 2016-06-13

What Hacker News says?

  1. Eric Normand explains it better than I could: https://lispcast.com/nil-punning/ In a nutshell, nil punning is a thing in lisps (and some other languages) where the null value can have different meanings in different contexts. It's comparable to Python's concept of "truthiness" and "falsiness", but more so.

    Comment linking /nil-punning/

    on “A History of Clojure [pdf]”
  2. Submitted React: Another Level of Indirection as a story · 213 points

    HN discussion
  3. Anki is great. I've used it to learn the 100 most common Clojure expressions. You can get the Anki file by signing up for the newsletter at http://www.lispcast.com/100-most-used-clojure-expressions

    Comment linking /100-most-used-clojure-expressions

    on “Anki – a program which makes remembering things easy”
  4. Submitted Hindley-Milner in Clojure as a story · 142 points

    HN discussion
  5. azureus · 2018-10-07Recommends
    Once a month, I find myself wishing Clojure had static typing, before dramatically rediscovering why not having it can be such a relief. The reasons for this are expressed much more articulately than I can here: https://lispcast.com/clojure-and-types/ ... Personally, for the kind of work that I do, I've found clojure's compromises make my life on net easier, and my code, on net, more reasonable.

    Comment linking /clojure-and-types/

    on “A Year in Clojure”
  6. Submitted Things Java Programmers can learn from Clojure as a story · 128 points

    HN discussion
  7. _bxg1 · 2020-02-21Recommends
    This is the best argument I've seen for dynamic types beyond the prototyping phase: https://lispcast.com/clojure-and-types/ Not sure if I'm 100% won over, but it makes some good points, particularly the section about JSON. Using TypeScript at work, one of the most painful (yet quite common) things is dealing with foreign JSON from an API, which is sometimes just... wrong. And then all our carefully-typed code falls…

    Comment linking /clojure-and-types/

    on “State of Clojure 2020”
  8. Submitted What Is Idempotence? as a story · 107 points

    HN discussion
  9. Oh yeah GHC error messages are bad. Notice how I said Elm instead of Haskell at the end :). One of the things I dislike about GHC is the wasted potential there that's evident in the compilers for newer languages like Rust, Elm, and Purescript when it comes to errors. I haven't found a good way of switching on ex-info generated exceptions. I usually end up having to do string matching or key searching both of which f…

    Comment linking /clojure-error-messages-accidental/

    on “Why I never finish my Haskell programs”
  10. Submitted Modern Language Wishlist as a story · 98 points

    HN discussion
  11. As someone who takes sublime pleasure in writing types around a domain, Rich Hickey's rightness on this issue makes me profoundly sad. Here's an article I read a while back (from the same author it turns out!) which nearly converted me to the dynamic-types camp: https://lispcast.com/clojure-and-types/

    Comment linking /clojure-and-types/

    on “What Is Good About Haskell?”
  12. Submitted Clojure Error Messages Are Accidental as a story · 93 points

    HN discussion
  13. So, I love me some ML-style languages, including Haskell, but I've also come to think that Rich Hickey is right about the real problems of business programming not being well solved by digging in on things like static typing. For example, pattern matching against static types is cool, but, compared to pattern matching directly against data, Clojure-style, is even cooler. One makes the code a bit more concise and rea…

    Comment linking /what-is-data-orientation/

    on “What Is Good About Haskell?”
  14. Submitted Clojure vs. The Static Typing World as a story · 83 points

    HN discussion
  15. Some notes on Data > Functions > Macros in Clojure: https://lispcast.com/data-functions-macros-why/

    Comment linking /data-functions-macros-why/

    on “Why Language-Oriented Programming? Why Racket?”
  16. Submitted Clojure is Imperative as a story · 67 points

    HN discussion
  17. > This might be true, but when they were making the case for constructive types they didn't mention it. Agree. > The discussions seems to be mostly dependent types vs refinement types, which I'd argue is a false dichotomy. You are right, I think I confused two notions: 1. constructive vs non-constructive reasoning. 2. intrinsic vs extrinsic types (aka Church vs Curry types[ 1]). In general, intrinsic types are const…

    Comment linking /church-vs-curry-types/

    on “Names are not type safety”
  18. Submitted Hindley-Milner in Clojure as a story · 62 points

    HN discussion
  19. > Questions such as yours makes me realize that a lot of go developers don't even understand what is the purpose of generic programming. While this sounds a bit condescending I know exactly what you mean. There seems to be some sort of "language barrier" (where the language is programming language concepts) between developers from different backgrounds. Go is currently used in a lot of successful projects, so it get…

    Comment linking /img/typing.png

    on “The State of Go – Where we are in May 2017”
  20. Submitted Tips for the aspiring Emacs playboy as a story · 54 points

    HN discussion
  21. Location: New Orleans, LA Remote: Yes. Willing to relocate: Negative. Technologies: Clojure, ClojureScript, Haskell, CSS, HTML, React, Om, PostgreSQL Email: ericwnormand@gmail.com Website: http://lispcast.com/ Github: https://github.com/ericnormand Specialities in analyzing a problem from the business perspective and delivering a solution to those needs. Functional programming, simple, clean code. Can help train new…

    Comment linking /

    on “Ask HN: Who wants to be hired? (August 2014)”
  22. Submitted The Beauty of Lisp-1 as a story · 50 points

    HN discussion
  23. uDontKnowMe · 2021-08-02Recommends
    Not who you are responding to, but the common idea that static types are all win and no cost has become very popular these days, but isn't true, it's just that the benefits of static typing are immediately apparent and obvious, but their costs are more diffuse and less obvious. I thought this was a pretty good write up on the subject that gets at a few of the benefits https://lispcast.com/clojure-and-types/ Just to…

    Comment linking /clojure-and-types/

    on “Six Years of Professional Clojure”
  24. Submitted Separation, Abstraction, and Cascading in CSS as a story · 43 points

    HN discussion
  25. There is a really interesting link between React and Clojurescript in the Om library. There is a great blog entry about Clojurescript and OM by David Nolen "The Future of Javascript MVCs". http://swannodette.github.io/2013/12/17/the-future-of-javasc... The claim by David is that, "ClojureScript om based TodoMVC looks 30-40X faster than Backbone.js TodoMVC, which means other JS frameworks left completely in the dust"…

    Comment linking /react-another-level-of-indirection

    on “React: Another Level of Indirection”
  26. Submitted Lisp, too, is mainstream as a story · 40 points

    HN discussion
  27. A closely allied idea to "never rewrite" is "you can always refactor shit into gold." For the first ten years after reading the Refactoring book I believed the second claim was true. Don't get me wrong, I think you can make great improvements to a code base with Refactoring. But sometimes a re-design really is needed. Eric Normand addresses one facet of this by saying "you can't refactor Aristotle to Newton": https:…

    Comment linking /building-composable-abstractions/

    on “The True Cost of Rewrites”
  28. Submitted Recombine to avoid naming when naming is hard as a story · 37 points

    HN discussion
  29. Be careful, that's just one way of looking at things. See https://lispcast.com/church-vs-curry-types/ or https://en.wikipedia.org/wiki/Simply_typed_lambda_calculus#I... > A type is a (possibly infinite) subset of all the possible values that can be provided as input to a program, or all the possible results a program can produce. What you are describing are 'extrinsic types. There are also 'intrinsic types'. Btw, ty…

    Comment linking /church-vs-curry-types/

    on “Where do type systems come from? (2017)”
  30. Submitted 13 hours of Lisp as a story · 35 points

    HN discussion

Search all of HN for lispcast.com

Linked by the same people?