Eric Normand
ericnormand.me · Personal blog · on HN since 2022
Eric Normand writes about Clojure, functional programming, and software design, and also hosts a podcast on programming paradigms.
What HN saysHN commenters link his podcast and conference talks, and his Clojure posts come up in discussions of Rich Hickey's design thinking and the language's loosely coupled libraries.
16HN people shared it
9linked it in comments
11stories submitted
162story points
1 year agolast shared
2022people per year2026
Most-shared posts
- 1What is Nil Punning? (2019)2 people · 1 points · first shared 2023 · discussion on HN
- 2Clojure and types2 people · first shared 2023
- 3The Heart of Unix (2018)1 people · 150 points · first shared 2024 · 103 comments on HN
- 4How can more layers be more efficient? (2019)1 people · 2 points · first shared 2024 · 1 comments on HN
- 5Guide to Virtual Threads in Clojure1 people · 2 points · first shared 2024 · discussion on HN
- 6How to Make JavaScript Functional (2018)1 people · 1 points · first shared 2024 · discussion on HN
- 7Re-Frame Database Best Practices and Code Examples1 people · 1 points · first shared 2023 · discussion on HN
- 8Haskell is Faster Than C?1 people · 1 points · first shared 2023 · discussion on HN
- 9Things Java Programmers Can Learn from Clojure Without Learning Clojure (2019)1 people · 1 points · first shared 2025 · discussion on HN
- 10Problems with the JVM1 people · 1 points · first shared 2024 · discussion on HN
- 11Parens vs. Brackets in Clojure1 people · 1 points · first shared 2022 · discussion on HN
- 12Church vs. Curry Types1 people · 1 points · first shared 2023 · discussion on HN
- 13Will byrd1 people · first shared 2025
- 14Rewrites1 people · first shared 2022
- 15Podcast1 people · first shared 2022
What HN people wrote when they linked it
b_e_n_t_o_n · 2025-08-04
I think this is a superb point. If you look at Clojure and Rich Hickey's justifications for it's design, he talks a lot about designing systems that work with a world that is changing constantly, interfacing with systems where you can't always guarantee a stable contract, solving problems that use non-elegant models, dealing with state and time, and change in ways you can't predict. Eric Normand wrote a great article on this and he comes from a dual Haskel/Clojure background [1]. Nominal static type systems absolutely have their place, especially with closed systems where the abstractions are different.
1: https://ericnormand.me/article/clojure-and-types
spiffytech · 2023-01-23
The Eric Normand Podcast, previously titled Thoughts on Functional Programming. Despite the name, he also dives into e.g., some classic OOP material too, as well as general programming paradigm commentary.
https://ericnormand.me/podcast
A couple episodes you may be interested in:
"In this episode, I excerpt from and comment on Allen Newell's and Herbert Simon's 1975 ACM Turing Award Lecture."
https://ericnormand.me/podcast/computer-science-as-empirical-inquiry-s…
"In this first episode of season 3, we analyze a great paper called Lisp: A language for stratified design. The paper asks the question "What is Lisp good for?"
https://ericnormand.me/podcast/lisp-a-language-for-stratified-design
"We read one of the great articles by Alan Kay, inventor of Smalltalk, called The Early History of Smalltalk."
https://ericnormand.me/podcast/the-early-history-of-smalltalk
beanjuiceII · 2022-08-02
yes makes perfect sense everything you just said..so I suppose this is one reason why clojure doesn't have one library/framework to rule them all, Rich saying he gave us a tool to do what we want/need, and clojurists do just that! Do what makes best sense in your situation etc
unrelated sorta..
Really makes me wonder if the lisp curse is really not a curse, now that I also google it I see Eric Normand has something to say about it https://ericnormand.me/podcast/what-is-the-curse-of-lisp so maybe i should give that a listen!
adityaathalye · 2025-05-20
AFAIK, all libraries are loosely coupled in Biff. Swapping out Hiccup / Rum for one of the other HTML templating options should be in "userspace"; straightforwardly so, without the framework maintainers intervention.
Ref:
Biff's own documentation: https://biffweb.com/docs/reference/architecture/#modifying-the-framewo…
HTML templating options: https://ericnormand.me/mini-guide/clojure-html-templates
aisamu · 2025-03-29
You might be interested in this talk by Will Byrd, of miniKanren fame:
Personal Data Preservation, Inspired by Ancient Writing https://ericnormand.me/clojuresync/will-byrd
harperlee · 2024-05-06
One related article that I found interesting: https://ericnormand.me/guide/clojure-virtual-threads
sargstuff · 2023-10-10
Ah, per limited edition & popular demand, will eventually be a real world, example of type sematics of the topoid ducktype. aka worn out & held together by duck tape.
At moment, looks like the electronic version seen as having an incompatible structural type system [0].
----
C/C++ has type punning [1].
Lisp has nil punning [2].
Python has duck typing.[3].
[0] : http://nullprogram.com/blog/2014/04/25/
[1] : http://en.wikipedia.org/wiki/Type_punning
[2] : http://ericnormand.me/podcast/what-is-nil-punning
[3] : http://en.wikipedia.org/wiki/Duck_typing
joshlemer · 2023-08-04
It is difficult to explain why, but there is actually a positive case to be made for dynamic typing. Their benefits are real but a lot less immediately apparent than the benefits of static typing. I think this article from Eric Normand captured some of it https://ericnormand.me/article/clojure-and-types. In my opinion languages like TypeScript where the type system is only a verification system and has no effect on the runtime, combined with its emphasis on structural types, existence of union/intersection types, etc, go a long way towards reducing the downsides of static types but not completely.
CrazyPyroLinux · 2022-08-12
Thoughts on Functional Programming just had a short episode about Smalltalk. The thesis was that its ratio of functionality to small size was due to the willingness to repeatedly rewrite it in pursuit of improvement.
https://ericnormand.me/podcast/rewrites