2026-08-14 –, R. 221
I will talk about a famous category variously known by its objects as the category of containers, by its morphisms as the category of lenses, and via an equivalence as the category of polynomial functors Poly (which is less practical to work with but has better puns). As well as being theoretically interesting this category has a frankly ridiculous number of practical applications, which I will do my best to give an impression of.
After being blocked for years by the difficulty of programming with lenses, last year I quit academia to get more research time and now I am building a programming language in which all types denote containers (aka polynomial functors) and functions denote lenses. This language, which I also call Poly, is half way through development and can hold together just barely enough to give a working demo. I will talk about the challenges of designing a syntax around an unfamiliar semantics, and the interplay of syntax, semantics and pragmatics in programming language development.
This is joint work with Zanzi Mihejevs (my primary partner, who introduced me to gender, polyamory and programming language theory) and Dylan Braithwaite (my PhD student and also my boss)