

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

Aug 22, 2019 • 18min
Monads in the real world
Dive into the world of monads and discover their real-world applications! The conversation breaks down complex concepts using relatable examples, making them easy to grasp. Learn how monads function like functors and the crucial join operation. The maybe type in Haskell shines through as it helps manage optional values seamlessly. With analogies like a box of chocolates, you'll see how monads simplify function outputs and enhance programming understanding.

Aug 19, 2019 • 7min
What is the difference between parallelism and concurrency?
Dive into the fascinating world of computing with a clear distinction between parallelism and concurrency. Discover how concurrency focuses on the safe sharing of resources among processes, while parallelism enhances performance by adding more resources. This insightful discussion sheds light on the vital roles these concepts play in functional programming, sparking curiosity about efficient resource management. Get ready to improve your understanding of these essential programming paradigms!

11 snips
Aug 15, 2019 • 26min
How do you develop algebraic thinking?
Discover how functional programming can enhance algebraic thinking through self-study methods like property-based testing. The conversation dives into advanced algebraic concepts, emphasizing the role of strong typing and abstraction in Haskell. With practical examples, they show how these principles promote better problem-solving and robust software development.

7 snips
Aug 12, 2019 • 18min
What is an algebra?
Dive into the intriguing world of algebras in functional programming. Discover how APIs can act as algebras, enriching software design with mathematical elegance. The discussion highlights essential traits that elevate expressiveness and fluidity in coding, making complex concepts accessible and engaging.

Aug 5, 2019 • 17min
What is a calculation?
Dive into the fascinating world of calculations as pure functions in functional programming. Discover how they differ from traditional mathematical functions and why viewing them as timeless simplifies understanding. Explore the idea of calculations as first-class objects, enhancing the power of higher-order functions. This engaging discussion shines a light on the advantages of transparency in programming, leading to better testing and comprehension.

Aug 1, 2019 • 20min
What is so great about object oriented programming?
Dive into the fascinating world of object-oriented programming as the speaker unveils its standout benefits, including polymorphism and late binding. These principles bolster flexibility, allowing systems to evolve effortlessly. However, the discussion doesn’t shy away from reality, addressing the balance between change and stability in coding. Explore how object-oriented design serves as a framework that embraces uncertainty, making it a vital player in software development.

Aug 1, 2019 • 7min
Why should you throw away all of your code?
Explore the transformative idea of iterating through your code like a writer revises an essay. Discover how embracing experimentation in programming can lead to clearer and more elegant solutions. The discussion emphasizes the art of letting go of old code to enhance creativity and innovation in functional programming. Uncover the importance of revisiting your work to foster growth and improvement.

Jul 29, 2019 • 10min
What is Data Modeling?
Explore the fascinating world of data modeling in programming! Discover how it differs in functional versus object-oriented paradigms, prioritizing relationships over mere entities. Dive into the complexities of modeling with graphs, where relationships are treated as edges. Learn about the benefits of separating data from behavior, enhancing flexibility in representation. Whether you're a seasoned developer or a curious newbie, this discussion opens up new insights into how we structure information in software.

Jul 25, 2019 • 19min
What is an action? (better edit)
Dive into the intricacies of functional programming as the discussion unpacks the concept of actions versus simple calculations and data. Discover the unique challenges actions pose and gain practical techniques for their effective management. The conversation hints at new strategies and a forthcoming book that promises to delve deeper into these fascinating ideas. It's a must-listen for anyone looking to enhance their understanding of software execution!

Jul 22, 2019 • 15min
What is tail recursion?
Dive into the fascinating world of tail recursion! Discover how it prevents stack overflow and why it's crucial for efficient programming. Learn the differences between regular recursion and tail recursion, and explore tail call optimization. The conversation also covers various programming languages that support this feature and offers alternatives for effective recursion management. Get ready to enhance your coding skills!