July 14, 2026
Category theory, but make it messy
Actegories
Math-brain blog drops another mind-bender, and the comments instantly split into awe, jokes, and panic
TLDR: Bartosz Milewski published a heavy-duty math post explaining ideas that influence advanced programming tools in Haskell. Readers instantly split between admiration, confusion, and jokes, with the biggest debate being whether this stuff is deeply useful or just painfully hard to understand.
A fresh post from programming-math favorite Bartosz Milewski just landed, and yes, the title alone — Actegories — already had readers either leaning in or backing away slowly. The article itself is a deep dive into the abstract math that helps explain things programmers use behind the scenes, like lenses and other tools for handling data. In plain English: Milewski is trying to show how some very high-level math ideas can map onto Haskell, a programming language famous for making smart people feel either enlightened or mildly attacked.
But the real show was in the reactions. One camp showed up with reverence, basically saying this has big “if you know, you know” energy. The most-liked vibe was: this is classic category theory content — brilliant, intimidating, and somehow one sentence away from becoming a meme. Another commenter played tour guide for the confused masses, recommending Milewski’s long-form YouTube lectures for anyone staring at the post thinking, “I recognize some of these words, but not in this order.”
And then came the chaos. One reader deadpanned that they’d be sticking with Scattergories, instantly winning the comedy round and capturing what a lot of people were probably feeling. Meanwhile, another cut through the fog with the most relatable challenge of all: Can someone explain why this actually helps programmers? That’s the tension at the heart of the thread — is this genius-level practical thinking, or elegant brain gymnastics with a fan club? Either way, the comments turned a dense theory post into a mini drama about whether programming needs more math, better explanations, or just better names.
Key Points
- •The article states that actegories are central to programming optics, including lenses, prisms, and traversals.
- •It introduces monoidal categories as categories equipped with a tensor product functor that is associative and unital up to isomorphism.
- •The post defines the coherence data of a monoidal category using an invertible associator, a unit object, and left and right unitors.
- •It shows how a monoidal category can be modeled in Haskell by parameterizing the tensor product as a `Bifunctor` and restricting objects with a constraint of kind `Constraint`.
- •The article explains that encoding the unit object in Haskell creates a circular superclass requirement, which it says can be handled with the `UndecidableSuperClasses` pragma.