14
$\begingroup$

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.
$\endgroup$
  • 1
    $\begingroup$ 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? $\endgroup$ – Zev Chonoles Jul 16 '12 at 20:42
  • 1
    $\begingroup$ 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. $\endgroup$ – Zev Chonoles Jul 16 '12 at 20:43
  • 1
    $\begingroup$ @ZevChonoles I tried the book but it have too few real examples. $\endgroup$ – Konstantin Solomatov Jul 16 '12 at 20:47
  • $\begingroup$ 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. $\endgroup$ – Hurkyl Jul 16 '12 at 23:45
  • 3
    $\begingroup$ I made a list here: mathoverflow.net/questions/903/… $\endgroup$ – sdcvvc Jul 21 '12 at 19:17

10 Answers 10

4
$\begingroup$

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.

$\endgroup$
  • $\begingroup$ I understand basics of category theory (definitions + basic examples + basic contstructs), what I want is too deepen my understanding of it. $\endgroup$ – Konstantin Solomatov Jul 16 '12 at 20:57
  • 7
    $\begingroup$ Does one understand category theory? I thought we just got used to it. $\endgroup$ – davidlowryduda Jul 16 '12 at 22:46
  • $\begingroup$ Edsko de Vries links are both 404 $\endgroup$ – Mirzhan Irkegulov Feb 5 '17 at 15:40
6
$\begingroup$

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.

$\endgroup$
5
$\begingroup$

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.

$\endgroup$
4
$\begingroup$

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.

$\endgroup$
4
$\begingroup$

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

$\endgroup$
4
$\begingroup$

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.

$\endgroup$
2
$\begingroup$

Leinster recently came out with a fantastic book

Basic Category Theory, Tom Leinster, 2014

It is shallow in terms of proofs and direct applications to programming but it is deep with examples from all realm of mathematical concepts. This really will help you understand category theory from whichever mathematics you may already know best.

Specific to programming, this is the only one in my collection not previously mentioned:

Category Theory Lecture Notes by Daniele Turi

Good luck, keep asking questions, and welcome to the categorical club!!!

$\endgroup$
1
$\begingroup$

Maybe try Category Theory for Scientists by David Spivak?

$\endgroup$
0
$\begingroup$

For programmers who wish to learn Category Theory the best videos are those by Bartosz Milewski:

As a follow-up, Introduction to Category Theory 1-6 by Steven Roman is a very clear 6 part YouTube video series and quite good (but I can't put in more than two links yet).

The Catsters are ok, but the video production values are lacking, and the organization and coverage is definitely not competitive with Milewski's video series.

Generally the simplest book with 'REAL MATH' (e.g. for non-mathematicians) is:**

Milewski's blog/book is excellent and Steven Roman also has a very clear books (about $25 from his web site).

Quite good in my opinion: Elements Of Basic Category Theory 1996 Martini & Nunes www.inf.pucrs.br alfio TReports catti.pdf

Categories, Types, & Structures: An Introduction to Category Theory for the Working Computer Scientist Asperti & Longo 1991

For intuition, this paper and the quote following give some interesting ideas J. Baez, Categorification, available on the ArXiv: math.QA/980202

If one studies categorification one soon discovers an amazing fact: many deep-sounding results in mathematics are just categorifications of facts we learned in high school!

There is a good reason for this. All along, we have been unwittingly ‘decategorifying’ mathematics by pretending that categories are just sets. We ‘decategorify’ a category by forgetting about the morphisms and pretending that isomorphic objects are equal. We are left with a mere set: the set of isomorphism classes of objects.

To understand this, the following parable may be useful.

Long ago, when shepherds wanted to see if two herds of sheep were isomorphic, they would look for an explicit isomorphism. In other words, they would line up both herds and try to match each sheep in one herd with a sheep in the other. But one day, along came a shepherd who invented decategorification.

She realized one could take each herd and ‘count’ it, setting up an isomorphism between it and some set of ‘numbers’, which were nonsense words like ‘one, two, three, . . . ’ specially designed for this purpose.

By comparing the resulting numbers, she could show that two herds were isomorphic without explicitly establishing an isomorphism!

In short, by decategorifying the category of finite sets, the set of natural numbers was invented.

According to this parable, decategorification started out as a stroke of mathematical genius. Only later did it become a matter of dumb habit, which we are now struggling to overcome by means of categorification.

Many people will overlook: Sets for Mathematics, F. WILLIAM LAWVERE & ROBERT ROSEBRUGH but this book discusses the "Category of Sets" and not just classical set theory.0 You will recognize the first author (Lawvere) from Conceptual Mathematics which is often recommended as a good start to Category Theory.

$\endgroup$
0
$\begingroup$

Although not for beginners, the YouTube user Mathproofsable https://m.youtube.com/user/MathProofsable has a bunch of videos on category theory. The pace is pretty fast, but he goes pretty deep and is rigorous. It offers a nice supplement for someone who self-studies.

$\endgroup$

Your Answer

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

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