Books/lecture notes/videos on category theory for programmer

2.8k Views Asked by At

I want to learn category theory. I tried different books and had several problems with them:

  • Books are for mathematicians and they use a lot of examples with which I am not comfortable, like algebraic topology, advanced algebra, etc.
  • Book which simplify things too much and doesn't contain any useful theorems.

I want a book which would give me a deep understanding of category theory and at the same time provide examples from the area which I am familiar with, i.e. computer science, type theory, logic, etc.

I tried the following books so far:

  • Basic Category Theory for Computer Scientists (Foundations of Computing). I was able to understand well 60% of the book but I didn't get intuition of category theory, the book contains too few examples.
  • Categories and Computer Science. The book is too basic for me.
5

There are 5 best solutions below

3
On BEST ANSWER

TheCatsters on Youtube has a video series. Edsko de Vries has an outline of the videos here and here.


Edit: There are references at the end of the "Abstract Nonsense for Functional Programmers" slides link. Also, an accessible intro to category theory for programmers can be found in Haskell books and tutorials, e.g. here, here, here and may be you can dig here: here.

0
On

If you want to understand the fundamental use of category theory in the semantic analysis of computation, I would recommend:

  • Semantics of Programming Languages (by Carl Gunter)
  • Axiomatic Domain Theory in Categories of Partial Maps (by Marcelo Fiore)

If, on the other hand, you are looking to understand the connection between type theory and the Curry-Howard isomorphism, nothing beats Lectures on the Curry-Howard Isomorphism which is book 149 in Elsevier's Studies in Logic and the Foundations of Mathematics.

Also, once you have a fair grasp of these complementary looks at semantic theory in computer science, then it becomes very useful to study up on categorial methods of proof theory, as you should have at that point a clearer idea of the relationship between proofs and program execution.

0
On

I asked the same question about a week ago at the chat and someone pointed me to a book called The Joy of Cats. It's free so you should definitely take a look at it. I think its kind of hard but you don't lose anything by trying it.

0
On

Read "Category Theory" by Steve Awodey. It is a rigorous introduction to category theory (goes as far as adjoints, some monads, Yoneda, ... ) which intentionally does NOT include examples that only a maths major can understand. Instead, its examples are drawn from logic, lambda calculus, etc.

0
On

Another possible choice may be

Michael Barr, Charles Wells: Category Theory for Computing Science

A description is here: http://www.cwru.edu/artsci/math/wells/pub/ctcs.html

EDIT: Now the authors have kindly made a pdf version of their book available.

The link is: ftp://ftp.math.mcgill.ca/barr/pdffiles/ctcs.pdf