logoalt Hacker News

wenctoday at 2:58 PM0 repliesview on HN

Category theory is rarely useful by itself, but it can be a mental scaffold when designing things like query languages. Microsoft's LINQ dsl within C# used category theory ideas to ensure consistency. That said, the applicability surface area in practice is typically quite limited in my experience. It's like formal methods -- elegant in practice, but a good problem fit is often rare. It's like writing a LEAN proof for your web app -- rarely needed, but if your web app needs a high degree of correctness, then indispensable.

This is John D Cook's take:

Category theory can be very useful, but you don’t use it the same way you use other kinds of math. You can apply optimization theory, for example, by noticing that a problem has a certain form, and therefore a certain algorithm will converge to a solution. Applications of category theory are usually more subtle. You’re not likely to quote some theorem from category theory that finishes off a problem the way the selecting an optimization algorithm does.

I had been skeptical of applications of category theory, and to some extent I still am. Many reported applications of category theory aren’t that applied, and they’re not so much applications as post hoc glosses. At the same time, I’ve seen real applications of categories, such as the design of LINQ mentioned above. I’ve been a part of projects where we used category theory to guide mathematical modeling and software development. Category theory can spot inconsistencies and errors similar to the way dimensional analysis does in engineering, or type checking in software development. It can help you ask the right questions. It can guide you to including the right things, and leaving the right things out. [1]

[1] https://www.johndcook.com/blog/applied-category-theory/