

The Eric Normand Podcast
Eric Normand
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.
Episodes
Mentioned books

Jul 19, 2021 • 17min
What's the relationship between abstraction and generality?
Do abstract and general mean the same thing? I don't think so. I've actually stopped using the term 'abstraction' because it's so laden with semantic baggage. We explore what they do mean in different contexts, and why abstract is not a relative term.

Jul 12, 2021 • 9min
Why is data so powerful?
Discover the power of raw data in programming as tech experts weigh in on its significance. Learn how Clojure emphasizes simplicity by avoiding excessive data wrapping, which leads to practical solutions in software development. The discussion highlights the advantages of relying on direct data handling, making it easier to tackle modern programming challenges. It's a deep dive into the pragmatic approach that prioritizes usability and clarity.

Jul 5, 2021 • 55min
What if data is a really bad idea?
Dive into a lively debate sparked by a Hacker News AMA, where tech luminaries question the value of data in programming. Explore the philosophical underpinnings of data, drawing insights from historical figures that reveal its evolving role. The conversation also critiques traditional data structures, advocating for modular designs that enhance software scalability. Discover how advanced communication methods can redefine efficiency in computing, urging listeners to rethink their approach to data.

15 snips
Jun 28, 2021 • 45min
On the criteria to be used in decomposing systems into modules
Delve into the fascinating world of modularity and its importance in system design. Discover the shift from traditional functional decomposition to the innovative approach of information hiding that enhances adaptability. Explore how managing dependencies shapes reusability and performance. The podcast draws a striking analogy between software and a house, illuminating the need for flexible design as user requirements evolve. Tune in for insights that promise to optimize efficiency in your projects!

Jun 14, 2021 • 20min
What is missing from Stratified Design?
The discussion delves into the concept of fit, highlighting its absence in the Stratified Design paper. It revisits the foundational ideas of the influential work 'Lisp, A Language for Stratified Design' and how these relate to functional programming. The conversation emphasizes the need for layered code to boost flexibility and problem-solving efficiency. It also critiques the current focus on visual expressiveness, advocating instead for meaningful abstractions that enhance understanding and effectiveness in complex systems.

Jun 7, 2021 • 1h 22min
Generality in Artificial Intelligence
Explore the history of artificial intelligence through John McCarthy's groundbreaking ideas. Discover the evolution of logical systems and the challenges of generality in AI. Learn how declarative beliefs can transform AI programming, illustrated by a comparison of recipe styles. Delve into the problems of logical frameworks and the struggle with human-like reasoning. Uncover the complexities of language and the influence of loss aversion on decision-making. Finally, reflect on AI's impact on concepts of intelligence and our understanding of humanity.

May 31, 2021 • 1h 10min
Some Comments from a Numerical Analyst
The podcast dives into the fascinating world of numerical analysis, exploring historical contributions from great mathematicians like Alan Turing and J. H. Wilkinson. Listeners learn about the complexities of floating-point numbers and the challenges in ensuring computational accuracy. Insights from collaborations with Turing shed light on innovative problem-solving methods. Additionally, the discussion draws parallels between the evolution of classical music and technological advancements in computing. This journey through numerical evolution captivates with its blend of history, precision, and innovation.

May 24, 2021 • 22min
Don't overcomplicate the onion architecture
Dive into the world of onion architecture and simplify its complexities. Discover how to keep domain logic separate from external dependencies for a cleaner structure. The discussion highlights crucial semantic dependencies and common pitfalls to avoid while implementing this design. Transform your understanding and approach to architecture, ensuring your core logic stands strong against external changes.

May 17, 2021 • 20min
Is Haskell the best procedural language?
Dive into the intriguing world of Haskell, where procedural programming meets functional foundations. Discover the powerful mindset behind functional programming, distinguishing between actions, calculations, and data. Hear firsthand experiences from a Haskell project that illuminate concepts like the I.O. type and do notation. The conversation advocates for maintaining pure functional practices while exploring the flexibility of procedural approaches. It's a captivating look at redefining programming paradigms!

May 10, 2021 • 20min
Do forces really exist?
Is force a real entity or just an abstract concept? Dive into the intriguing world of Newtonian mechanics and discover how forces are represented in motion through models. The discussion highlights free body diagrams and their role in simplifying our understanding of gravity and magnetism. It also explores the fascinating connection between abstract physics and programming, emphasizing how technology helps simulate and test complex ideas that are challenging to visualize. Get ready for a mind-bending exploration of known forces!