Explore the concept of treating side effects as part of a public API in this 38-minute conference talk from Strange Loop. Dive into techniques for isolating side effects from pure code, even in languages that allow ad hoc side effects. Learn how to represent side effects as "intents to perform an action," combine them with pure code, and write unit tests without mocking. Discover the Effect library for Python, which provides tools for implementing these concepts. Compare the ideas presented to the Extensible Effects system in Haskell and gain insights into making code more easily testable. Join Christopher Armstrong, a seasoned Python developer and Twisted framework contributor, as he shares his expertise in functional programming and discusses the potential benefits for both Python and Haskell developers.
Overview
Syllabus
Introduction
Intrinsic Side Effects
Testable Side Effects
Do decorator
Test API
Twisted Library
Abstracting Over Effects
Free Monads
Conclusion
Questions
Taught by
Strange Loop Conference