top | item 35211726

(no title)

maxiepoo | 3 years ago

It sounds like category theory likely has no direct impact on your life. So you can move on.

But please do not let this bleed into a criticism of category theory as used in mathematics. Category theory from the very beginning was developed to help manage the complexity of modern mathematical fields like algebraic topology. It was then famously used by Grothendieck in algebraic geometry where some of the basic notions (schemes) were defined in terms of category theoretic concepts (functors). It's been applied to many other fields, since, including yes computer science, and mainly for the same purpose: giving precise terminology to common patterns (monads functors etc) and giving us the right concepts to design new functional programming languages. As someone who is an expert on these topics I find some of the popular sentiments about programmers using category theory to be a bit silly, but I'll admit it's overall probably good for my field because it cultivates a lot of interest in students. It probably plays a similar role to pop science/math in other fields: not very deep but fun and can be a gateway to "the real thing".

The popular perception of category theory is a bit bizarre to me though. It is a beautiful theory with many useful results. But you don't see the same excitement or resentment towards fields like order theory or abstract algebra, which are very closely related to, and just as abstract as, category theory and are used in similar ways.

discuss

order

khazhoux|3 years ago

> It sounds like category theory likely has no direct impact on your life. So you can move on.

Very dismissive statement that misses the person's point.

> It is a beautiful theory with many useful results.

But what are those results? Besides Yoneda, are there insightful, surprising, delightful results? I personally gave up on my CT study after seeing that it was just chapter after chapter of definitions and nothing else.

I always compare it to abstract algebra. AA can be studied without any connection whatsoever to the physical world or even to numbers -- as "abstract" as math can get. And yet from the first chapter you are hit with surprising theorems, and they continue non-stop, challenging your brain at every turn. I fail to see this in CT.

jiggawatts|3 years ago

This is what turned me off also. Category theory is all promises of potential benefits, but none seem to have materialised.

The closest example to something useful I’ve seen is a CT-based explanation for why Automatic Differentiation is formulated the way it is.

However, AD was invented before CT, and the explanation didn’t add any value that I could see. It didn’t result in a “better” AD, it simply attached esoteric labels to existing things.

sleepyams|3 years ago

One interesting result which you may find interesting: https://ncatlab.org/nlab/show/Lawvere's+fixed+point+theorem

I also highly recommend this survey paper by John Baez and Mike Stay: https://math.ucr.edu/home/baez/rosetta.pdf

There are plenty of interesting results in category theory, in fact your comparison to abstract algebra is apt. There is only so much you can say about an arbitrary group in general, or an arbitrary topological space, just like there is only so much you can say about an arbitrary category.

Twisol|3 years ago

> Very dismissive statement that misses the person's point.

I read it as acknowledging that you shouldn't feel like you have to spend time on things that provide you no value. That seems to directly acknowledge the point I took from the earlier comment, which is that they keep spending time on it and coming away with no idea what they even should be getting from it, much less getting anything specifically.

(I like category theory, but it's a reasonable reaction for most people. I'd love for more people to engage with it on its merits, but also, people have finite time and may rather spend it on things they derive joy from.)

maxiepoo|3 years ago

Basic results that are useful on a day-to-day basis: 1. Yoneda's Lemma, and the corollary that objects defined by universal property are unique up to unique isomorphism 2. Right adjoints preserve limits and more generally, Kan extensions

The "big" theorem of basic category theory is probably the adjoint functor theorems which, once you realize that so many constructions in math are adjoint functors, gives very useful technical conditions to construct such an adjoint (ctrl-s for "applications" here for examples: https://math.stackexchange.com/questions/844131/adjoint-func...).

The most delightful surprising results to me come from categorical logic because that is what I am most familiar with. Here is one: any elementary topos is a model of intuitionistic higher-order logic, and also extensional dependent type theory. This vastly expands the domain of applications of logic if you are used to thinking only in terms of set-theoretic models. It also gives us applications of constructivism that are entirely independent from any philosophical debate about the nature of truth. This means that you can take many mathematical fields such as differential geometry, algebraic geometry, topology, as embodied in some category C, embed them into a sheaf topos and then use intuitionistic logic to do constructions and theorems in this area that are vastly simpler than the usual formulations. For instance you can do this with differential geometry and get an intuitionistic logic where you can work explicitly with infinitesimal numbers to calculate derivatives in a completely rigorous fashion. Ingo Blechschmidt has written some expository material in this vein (his main work being in using this in algebraic geometry): https://arxiv.org/abs/2204.00948

On the "surprising" side, I think the most surprising things for me where seeing how existing mathematical structures were examples of generalized categories: metric spaces are a kind of enriched category and topological spaces are generalized multicategories for the ultrafilter monad.

dimitrios1|3 years ago

What is your recommendation for learning? I've been recommended Bartosz Milewski enough times, and started to dive in. I am not interested in learning the totality of Category theory, just enough to be more effective in FP languages like Haskell.

deterministic|3 years ago

Category Theory will not make you more efficient in FP languages like Haskell. I studied it enough to realise that it doesn’t give me any insights or thinking tools I can actually use to write better software. However I highly recommend reading “Software Foundations”. It is almost guaranteed to make you better at writing software in any language. Including Haskell. That’s what happened to me.

cfiggers|3 years ago

Have you been recommended his blog series/book only, or the playlists on YouTube as well? I really like his recorded lectures on YouTube and they cover similar ground in a similar order to the blog posts (from what I've read—I'm further into the YouTube series than I am his written material).

trenchgun|3 years ago

You don't need to learn category theory to be more effective in FP languages like Haskell. Category theory was used as inspiration for design of ML and Haskell, but it is not necessary for programming in them.

travisjungroth|3 years ago

Weirdly, I don’t love or hate category theory but I get very excited about order theory and abstract algebra in software. It feels lonely exploring them compared to other things, which is funny to say. It’s not fully explored or the new hotness.

boris_m|3 years ago

Category theory is order theory and abstract algebra.

HervalFreire|3 years ago

It's because the lack of practical applications. People can make broken abstractions without knowledge of the fundamentals like compositions or functors and still get their shit to work.

That matters more to engineers then true understanding. So a lot of engineers end up trying to understand it and when they fail they easily move on to other things because it's not required knowledge for their job.

fatneckbeard|3 years ago

category theory has a very hard "k" sound at the front and a g sound which is also hard, which makes people react more strongly to the name than order theory or abstract algebra.