

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

6 snips
Jan 20, 2020 • 1h
Lisp: A language for stratified design
Discover the strengths of Lisp as a programming language and its potential for stratified design. The discussion illustrates how procedural abstractions simplify coding by balancing generality and specificity. Using the metaphor of love, abstraction is explored as a means to encapsulate complexity through a four-level design. The importance of metalinguistic abstractions highlights the diversity of programming paradigms. Finally, dive into Lisp's unique features and its philosophical impact on programming practices, especially the Scheme dialect.

Dec 12, 2019 • 12min
Year-end update 2019
The podcast kicks off with a personal update from the host, highlighting a pause to enhance future content. A deep dive into functional programming follows, focusing on input and output management. The conversation shifts to code structure, emphasizing the importance of testing lower-level components. Strategies for improving maintainability through reusability and data modeling are explored. The hosts reflect on their journey, hinting at exciting developments ahead while announcing a break from recording.

Dec 5, 2019 • 23min
Are monads practical?
Dive into the intriguing world of monads! Discover how they help maintain functional purity in programming, particularly in Haskell. The discussion evaluates their practical applications in managing input/output and mutable states. Are monads essential in every scenario? This conversation questions their universal necessity, sparking a thought-provoking exploration of their relevance in the broader realm of functional programming.

Nov 25, 2019 • 9min
Where does structural similarity come from?
Dive into the intriguing concept of structural similarity as it applies to programming and mathematics. Discover how translating real-world processes into algorithms can reveal hidden relationships. The discussion emphasizes how recognizing these connections, such as counting and the order of days, is crucial for effective programming. Get ready to unravel the mysteries behind how structure influences both coding and mathematical understanding!

Nov 21, 2019 • 11min
Do you need immutability for functional programming?
The podcast dives into the role of immutability in functional programming. It discusses how immutable data structures can be beneficial, but not absolutely necessary. The speaker offers practical strategies for handling mutability effectively. Additionally, the conversation highlights the advantages of partial immutability and encourages listeners to engage with the content for a deeper understanding.

Nov 18, 2019 • 10min
Algebra is about composition
Dive into the fascinating interplay between algebra and functional programming. Discover how the concepts of composition, associativity, and commutativity shape our understanding of both fields. Learn how these properties enhance the reliability and flexibility of functional components, making it easier to define new algebraic concepts. This exploration opens up a world of connections that can transform your approach to problem-solving.

Nov 14, 2019 • 13min
What do product and sum types have to do with data modeling?
Dive into the world of data modeling with a focus on product and sum types. Discover how these types play a crucial role in simplifying complex domain representations. Learn about the potential pitfalls of improper type representation and how it can complicate software development. The discussion emphasizes the elegance of clear models and the effectiveness of these concepts in ensuring all cases are accurately represented. It's all about making modeling targeted and straightforward!

Nov 11, 2019 • 23min
Can you have a clean domain model?
The discussion dives into the intricacies of crafting a clean domain model amidst complex business rules. It highlights the challenges faced in fields like election systems, where regulations vary widely. By using historical parallels, the conversation illustrates how to abstract complexity and uncover a simpler framework. Listeners will appreciate the insightful examples that illuminate the art of simplifying intricate models.

8 snips
Nov 7, 2019 • 14min
What is abstraction?
Delve into the fascinating world of abstraction in programming. Discover its core essence and why it's essential in crafting effective software. Unravel common misconceptions and learn how to view compositions and object interfaces as cohesive elements. This discussion illuminates the importance of abstraction in enhancing clarity and efficiency in code.

Nov 4, 2019 • 14min
Why does stratified design work?
Dive into the fascinating world of stratified design in programming. Discover how solving general cases can simplify complex tasks and boost efficiency. The discussion on layered abstraction reveals its power, as exemplified by a to-do list implementation. You'll also learn about the benefits of multi-maps and the nuances of functional programming, making complex structures more accessible. Strap in for insightful examples and a fresh perspective on programming frameworks!