Pular para o conteúdo

Profunctor Optics

27 de maio de 2026 · 43 min

Notas do episódio

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?

Todos os episódios de Math Deep Dive

Configurações

Exibição

Idioma

Define quais estações você vê primeiro na página inicial.

Histórico

As rádios e episódios ouvidos recentemente e suas últimas buscas ficam só neste navegador.

Avisos

Um aviso rápido quando um podcast que você segue tem um episódio novo. Desative podcasts individuais pelo sino na página deles.

Conta

Salve favoritos – no app e no site.

Atalhos de teclado

/
Abrir busca
Espaço
Reproduzir ou pausar
← →
No player: voltar 15 s, avançar 30 s (episódios) · na fileira: próximo bloco
↑ ↓
Na fileira: alvo dentro do bloco
Home / End
Na fileira: primeiro ou último bloco
Esc
Fechar janela ou menu
?
Esta visão geral
Tocando agora

Ir para a estação

A seguir

    Adicione episódios com “A seguir” – eles tocam depois do episódio atual.