When I search for texts online about category theory, the majority of the results that appear are geared towards programmers/computer scientists. My intent is to learn about it for its mathematical merit, and I can find such texts, but my question is is there a substantial difference in the approach/breadth of material taught in one vs the other?

It would seem apparent that those geared more towards programming would touch on the applications of category theory in specific programming languages and how computers work with it, but does it also sacrifice some of the details/rigor in return for a more 'engineering' style approach, where results are more important than a total understanding of the forces at play?

EDIT response to comments: examples of specific mathematically oriented books include Lawvere's An Elementary Theory of the Category of Sets or MacLane's Categories for the Working Mathematician, as opposed to the text Category Theory for Computing Science and in particular many Haskell specific manuals, such as one of the first results (right after Wikipedia's own), the Wikibooks on category theory for Haskell, along with a plethora of blog-style publications for specific languages and/or category theory for programmers in general.

  • 3
    $\begingroup$ I feel sad when mathematicians look down on computer science. It's arguably the most useful branch of mathematics in the world today. (Contentious assertion: results are impossible without an understanding of the "forces at play," and if your "total understanding" when applied fails to produce engineering-style results, you don't have a total understanding.) $\endgroup$ – Wildcard Aug 23 '17 at 21:28
  • 2
    $\begingroup$ It would be helpful if you could give just a few examples of the kinds of texts that you find :) But generally, yes, I think there is quite a different approach. For example, the treatment of monads in most programming texts I've read doesn't touch upon things like the Barr-Beck theorem, but most mathematical texts don't cover the examples found in programming, which are sometimes very enlightening. It's all swings and roundabouts. $\endgroup$ – Tim Aug 23 '17 at 21:28
  • $\begingroup$ en.wikipedia.org/wiki/Category_(mathematics) might be a good place to start if you don't understand what a category is. $\endgroup$ – user451844 Aug 23 '17 at 21:54
  • 5
    $\begingroup$ If you are reading actual books (as opposed to blog posts etc.) then in most cases there will be plenty of depth in either. The difference is (completely unsurprisingly) one of focus and emphasis. For example, books using category theory for algebraic topology will likely obsess over Abelian categories which are virtually absent from most CS-oriented books. On the other hand, a CS-oriented book will likely spend a good amount of time talking about internal languages which aren't often covered in algebraic topology oriented books. The applications that interest you should drive your decision. $\endgroup$ – Derek Elkins Aug 23 '17 at 21:55

Check out Category Theory in Context by Emily Riehl. It is free on her website, and gives a broad overview of the mathematical context of categories.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy