Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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.
share|cite|improve this question
Perhaps it'd be helpful if you could list the books you've tried so far, so that people don't recommend them to you again? – Zev Chonoles Jul 16 '12 at 20:42
For example, have you looked at Pierce's Basic Category Theory for Computer Scientists? It won't get you very deep, but it looks like it would give a good start. – Zev Chonoles Jul 16 '12 at 20:43
@ZevChonoles I tried the book but it have too few real examples. – Konstantin Solomatov Jul 16 '12 at 20:47
There is Categories, Types, and Structures: An Introduction to Category Theory for the Working Computer Scientist by Andrea Asperti and Giuseppe Longo. I haven't used it enough to know if I'd recommend it, though. – Hurkyl Jul 16 '12 at 23:45
I made a list here:… – sdcvvc Jul 21 '12 at 19:17
up vote 6 down vote accepted

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.

share|cite|improve this answer
I understand basics of category theory (definitions + basic examples + basic contstructs), what I want is too deepen my understanding of it. – Konstantin Solomatov Jul 16 '12 at 20:57
Does one understand category theory? I thought we just got used to it. – mixedmath Jul 16 '12 at 22:46

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.

share|cite|improve this answer

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.

share|cite|improve this answer

Another possible choice may be

Michael Barr, Charles Wells: Category Theory for Computing Science

A description is here:

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

The link is:

share|cite|improve this answer

Here are some lectures from Steve Awodey himself given at the Oregon Programming Languages Summer School 2012:

There is an Introduction to Category Theory course on Reddit University. While not aimed at programmers specifically, it looks to be a reasonable introduction.

share|cite|improve this answer

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.

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.