It looks like you're new here. If you want to get involved, click one of these buttons!
Category theory was created in 1947. It was created to be applied. Mathematicians were having problems connecting topology to algebra, and Eilenberg and Mac Lane realized that 3 new concepts were required to solve these problems: category, functor, and natural transformation. They succeeded wonderfully, and category theory started growing rapidly: it is now indispensable in the subject of "algebraic topology", which solves topology problems using algebra. Later Grothendieck applied category theory to "algebraic geometry", and used it to prove the Weil Conjectures, some amazing conjectures relating number theory to geometry. In the process he invented many other fundamental concepts, like topoi, or toposes. By now category theory is a very large subject that takes a long time to thoroughly learn.
However, these are applications within pure mathematics, and the new buzzword "applied category theory" usually refers to applications outside pure mathematics.
Category theory has been applied to computer science for a long time now, at least since the 1960s. That's why a lot of you - maybe even most of you - are hackers, programmers, software designers, or computer scientists. You've heard that category theory is good for you. You probably heard that before the new buzzword "applied category theory".
I'm not a programmer. I apologize for this flaw. I know a fair amount about categories in computer science - but I learned it from the category theory side, not from hands-on experience in programming. For example, I understood monads before I heard of Haskell, and my first reaction was "What are these guys doing with monads? How are they managing to make such a simple concept so mysterious?" I understood cartesian closed categories before I understood the lambda calculus, and I can't imagine myself understanding the lambda calculus without category theory (though plenty of people do).
So, this is not a course on "categories in computer science". Nonetheless, because category theory is about understanding and organizing abstract data structures, everything I say will be relevant in some way to computing! Furthermore, several chapters in Seven Sketches explicitly discuss databases, and type systems, and other aspects of computer science.
In the 1990s people started applying category theory to quantum physics, and quantum gravity. That's how I got interested in category theory! There are a lot of success stories here by now. And if people succeed in building topological quantum computers, we'll see technology that can only be understood using category theory.
More recently, some of us decided that if categories are good for computer science and physics, maybe we should apply them elsewhere: engineering, chemistry, biology and beyond. That's what I'm doing now. I'm applying categories in the DARPA-funded project on complex adaptive system design, I'm being paid by the Silicon Valley startup Pyrofex to do research in category theory, and I've got 8 grad students and a postdoc studying networks using category theory. And it's not just us - it's catching on.
I held a workshop on these new applications of category theory last year. You can see slides and videos here:
This month Spencer Breiner and Eswaran Subrahmanian ran a workshop pulling together academics and lots of honchos from industry and government:
They took videos and collected talk slides, but for now you can only read my description - click the link.
At the end of April there will be a much bigger week-long school followed by a week-long workshop in the Netherlands:
There should be a lot to see on YouTube! I'll be there, and I'll keep you informed.
These are all the events I know that have "applied category theory" in the title. The applications have been building up over decades, but only now have they reached a critical mass, to make it a subject with its own name.
The book by Fong and Spivak is a great introduction to category theory as viewed from this new perspective. So that's what we'll talk about here!
Comments
great intro. Thanks. Am getting a feel of the forum now. Am now following the numbered lectures, eg lecture 1, lecture 2, etc.
great intro. Thanks. Am getting a feel of the forum now. Am now following the numbered lectures, eg lecture 1, lecture 2, etc.
Exciting stuff. I appreciate the Lecture break downs.
Exciting stuff. I appreciate the Lecture break downs.
As someone with limited time due to other commitments, just wanted to say I really appreciate the length and tone of the lectures John.
As someone with limited time due to other commitments, just wanted to say I really appreciate the length and tone of the lectures John.
The Applied Category Theory program sounds fantastic. Thanks for the course. I hope I’ll be able to participate and engage with it and the program
The Applied Category Theory program sounds fantastic. Thanks for the course. I hope I’ll be able to participate and engage with it and the program
I'm glad you guys like the stuff! The Azimuth Forum puts an upper bound on the length of a post, so I'm limiting my lectures to fit that... which is good for me because it means I don't get carried away and say too much.
I'm glad you guys like the stuff! The Azimuth Forum puts an upper bound on the length of a post, so I'm limiting my lectures to fit that... which is good for me because it means I don't get carried away and say too much.
Indeed a very inspirational intro to keep going through the book, thanks!
Indeed a very inspirational intro to keep going through the book, thanks!
Great intro! As a computer science guy I am truly exited to rediscover concepts in a categorical way. I can safely say I can't imagine myself understanding lambda calculus with category theory. Hopefully that is about to change!
Great intro! As a computer science guy I am truly exited to rediscover concepts in a categorical way. I can safely say I can't imagine myself understanding lambda calculus _with_ category theory. Hopefully that is about to change!
@PedroMincz It would be great if you post some notes along the way!
@PedroMincz It would be great if you post some notes along the way!