Category theory is a branch of pure mathematics that is becoming an increasingly important tool in theoretical computer science, especially in programming language semantics, domain theory, and concurrency, where it is already a standard language of discourse. Assuming a minimum of mathematical preparation, Basic Category Theory for Computer Scientists provides a straightforward presentation of the basic constructions and terminology of category theory, including limits, functors, natural transformations, adjoints, and cartesian closed categories. Four case studies illustrate applications of category theory to programming language design, semantics, and the solution of recursive domain equations. A brief literature survey offers suggestions for further study in more advanced texts.
Terse. Maybe too terse, but a lot of my issues would have been resolved had I realized there was an appendix of notation at the back of the book. Serves as a pretty solid introduction to category theory, but provides absolutely no indication as to *why one might want to know category theory*. The treatment is primarily for organizing ones thoughts about abstract structures rather than actually working with them. The book very briefly mentions representability, with no discussion of the Yoneda lemma (which I understand to be one of the more useful parts of category theory).
I read this as part of MIRI's recommended reading list.
I really enjoyed the first two chapters, which provide an extremely brief and accessible introduction to basic concepts of category theory (products, equalizers, functors, adjoints, etc.) with good exercises. However, the third chapter, which discusses applications to computer science, predominantly consisted of a lengthy theoretical discussion of recursive domain equations requiring background in domain theory, which I lack. I also wish the author had talked more about the connection between category theory and logic.
I liked this concise introduction to the topic of category theory. In my opinion, the author made a good job of making the subject understandable to a computer scientist.
The first two chapters explain the main concepts while the third gives you a taste of the applications of category theory to computer scientists.
The fourth and final chapter on further reading is a very nice idea, as it details the relevant literature in category theory according to your goals. For instance, you learn that the book "Category Theory for Computing Science" comes with numerous exercises and full solutions.
کتگوری بخونید ولی از روی کتاب استیو آودی، اگه ریاضی بلد نیستین هم به نظرم هیچ وقت نمیفهمی� اینایی که میخونی� به چه درد میخور� پس نخونین... من با استاد و کتاب آودی و تجربه� دست پا شکسته� ریاضی به سختی متوجه شدم کتگوری چیه...
When it says for computer scientist I was expecting a more logic around approach anyway first to chapters are fun you only need basic logic and set theory as background yet the author advances too quick sometimes. I stop there and have no plans to study the 3rd chapter.
A surprisingly accessible introduction to category theory. It really helped me get a grasp on the different ideas I had seen earlier and filled in some of the parts I hadn't.
The book was a bit too succinct at points--the only reason I got through most of it quickly was because I was already familiar with the material. The genuinely novel parts of the book took quite a bit more effort to get through. Nonetheless, it was still much more accessible than other books on the same subject!
This is very much only a cursory introduction. It's certainly enough for the discerning functional programmer, but not enough to follow many current PL theory papers. Also not enough to use some of ekmett's libraries like category-extras :).
Good book, nicely introduces just enough category theory to understand slightly more advanced texts. Perfect for graduate CS or undergraduate Maths students but perhaps a bit too brief for undergrad CS, assumes decent knowledge of set theory and algebra, for example knowledge of monoids is assumed and not really covered. Covers functors and natural transformations nicely though. Has a truly excellent bibliography and further reading chapter, pointing out many introductory books, reference books, articles and research papers.
Although some concepts flew straight over my head, I got quite a bit out of it.
It's really interesting to see the application of Category Theory to programming language design, in particular to the foundational theory behind things like function application, currying, implicit conversions and generic operations.
If you read this and you're left wanting more, the bibliography at the end of the book is a great resource to deepen your knowledge.
This book presents some basic notions from category theory and tries to apply them to computer science - for example, generic data types are like functors: List carries T into lists of T and functions on T into functions on lists of T via mapcar. I don't find it terribly useful. It may or may not be nonsense, but it is exceedingly abstract.
I'am not a computer scientist actually, just a software developer. The book is a bit too succinct, making some things harder to catch. On the other hand it gives good picture in quite a few pages. Also it was quite exciting to see parallels between different concepts when viewing from categorical point. Also huge "Further reading" part gives directions for ones who want to go deeper.
Certainly there's more I could have gotten out of this book. I could have dug deeper, worked through exercises and examples carefully, etc. And I only really skimmed the final chapter on applications to CS, which seems like what I should have taken as the highlight. I did, though, enjoy some of the examples in the second chapter, such as seeing how floor and ceiling were adjoints.
While this book is an interesting read, it is definitely NOT BASIC. I've had a hard time understanding many of the concepts in the way they're explained, even though this isn't the first thing I've read about Category Theory. There are many prerequisites to be able to understand the content, set theory being one, but not the only one.
Everything I've read by has been awesome, and I'm going to need to get into category theory more heavily pretty soon now (definitely by next Fall semester)...anyone have some recommendations (Brian McNamara, this means you)?