Profunctor Optics
Impossible d'ajouter des articles
Échec de l’élimination de la liste d'envies.
Impossible de suivre le podcast
Impossible de ne plus suivre le podcast
-
Lu par :
-
De :
This episode of the Math Deep Dive Podcast tackles one of the most ubiquitous challenges in modern software engineering: the "Russian nesting doll" problem of immutable data updates. When you need to update a single zip code buried deep within nested JSON records and variants, you often face a "massive brittle wall" of boilerplate code and nested if-statements.
Join us as we explore how functional programmers and theoretical mathematicians independently converged on a universal solution: Profunctor Optics. We’ll bridge the "gritty pragmatic world of software engineering" with the "dizzying abstract heights of pure category theory" to show how complex data manipulation can be reduced to a simple dot operator.
In this episode, you’ll discover:
- The Lenses and Prisms Dilemma: Why "AND" data (product types) and "OR" data (sum types) usually refuse to compose, and how Profunctor Optics solves this "USBC and HDMI" problem.
- A Tale of Two Worlds: How a group of hackers in a 2015 IRC chat stumbled upon the exact same structures—Tambara modules—that mathematicians were studying in representation theory.
- The Lattice of Optics: A "predictive periodic table" of data accessors, from simple Adapters to complex Grates and Traversals.
- Correctness by Construction: How Co-end calculus and the "slider" mechanism allow a compiler to verify your code as a mathematical proof.
- Beyond the Code: Mind-bending applications of optics in categorical cybernetics, Bayesian game theory, and quantum circuits.
By the end of this deep dive, you’ll see why "general abstract nonsense" is actually a gift that deletes hundreds of lines of boilerplate and ensures your systems are mathematically sound. As we peel back the layers of abstraction, we ask the ultimate question: How much of computer science is just undiscovered math?