
The Eric Normand Podcast
An off-the-cuff stream of Functional Programming ideas, skills, patterns, and news from Functional Programming expert Eric Normand of LispCast. Formerly known as Thoughts on Functional Programming.
Latest episodes

Jun 5, 2023 • 7min
What is the title of my new book?
The speaker reveals a fresh title for their book: Executable Specifications. Discover the journey behind this choice and how it reflects a unique approach to domain modeling. The discussion emphasizes the significance of an iterative methodology, showcasing the evolution of ideas. Tune in to explore how naming can encapsulate the essence of impactful concepts in programming.

9 snips
May 29, 2023 • 21min
What are the domain modeling lenses?
I'm organizing my new book in terms of lenses. Each lens focuses our attention on one important aspect of software design. In this episode, I briefly introduce each lens.

May 22, 2023 • 20min
How is domain modeling evolving these days?
I talk about the progress I've made on my book and why I'm throwing it away and starting over.

May 15, 2023 • 7min
Why don't I encounter more type errors when programming in Clojure?
Explore the fascinating differences in error handling between Clojure and Haskell. Discover why dynamically typed languages like Clojure produce fewer type errors compared to statically typed ones. The discussion reveals how these distinctions can shape programming practices and influence a developer's approach to mistakes. Gain insights into the perception of errors and how it affects coding experiences.

May 8, 2023 • 7min
What is the "reify to an interpreter" refactoring?
Explore the fascinating 'reify to an interpreter' refactoring technique that transforms functions into data representations. The discussion highlights how this approach can streamline the management of mutation functions. A fun pizza analogy illustrates the concept, making it easier to grasp how state changes can be tracked more effectively. This innovative method promises to enhance your coding practices and understanding of functional programming.

Apr 24, 2023 • 12min
How to teach an essential skill in domain modeling?
One important skill in domain modeling is learning to see the semantics of your language, past the habits you've developed. To do that, it helps to see the same example in multiple languages. So how do I show examples in multiple languages without expanding the size of my book?

Apr 17, 2023 • 5min
What is an isomorphism?
An isomorphism is a one-to-one mapping from two sets, and encoding your domain model involves finding a mapping between the real world and your code. So does domain modeling involve isomorphism?

Apr 10, 2023 • 10min
Applying domain modeling to an existing data structure
Learn how to apply domain modeling to existing data structures by writing validation and normalization operations. Explore concepts like handling invalid states and achieving standard forms of data representation. Discover an adapter function that interprets boolean values into string states for improved readability.

Feb 20, 2023 • 6min
What is the commutative property?
We discuss the commutative property, why we use it, and three different possible meanings.

Feb 13, 2023 • 13min
Why is the associative property important?
We look at several examples where the associative property gives us expressive power.