REVIEW - Basic Category Theory for Computer Scientists


Basic Category Theory for Computer Scientists


Benjamin C. Pierce



MIT Press (1991)




Francis Glassborow


August 2004



This book was published a dozen years ago. The reason that I have a copy is that some highly technical discussion of the C++ type system referred repeatedly to Category Theory. Despite my advancing years, I spend a good deal of time trying to bring my knowledge and understanding to the level where I can understand issues relating to language design and implementation. (One of the advantages I have over those who are fully employed in software development is that I have much more time spend on personal development.)

Category Theory is a relatively young branch of pure mathematics derived form algebraic topology. Now it is unlikely that the reader of this review has such a background so be warned that this is tough mathematics for the newcomer; it is tough for me even though my main tutor for my Oxford degree was an algebraic topologist and my own specialism was mathematical logic. This is the kind of book that you study a few pages at a time and that older brains such as mine find hard to turn the acquired knowledge into working knowledge.

Chapter 1 introduces the reader to the basics of Category Theory. There is no reasonable way for me to summarise that. Perhaps the best advise I can give is to suggest you type 'Category Theory' into Google and start looking at some of the early hits from the almost four million you will get.

In Chapter 2 we move on to functors, transformations and adjoints. When you have finished studying (just a reading is insufficient preparation) you will be ready to read Chapter 3 which looks at various ways that CT can be used in the computer science domain.

Chapter 4 is entirely concerned with further reading. It is badly dated and the reader would probably be better served today by an intelligent use of Google or some other search engine.

Whilst I would recommend this book to someone with an appropriate background and an interest in theoretical aspects of computer languages, it is not a book for the working programmer or software developer. This is a book for those that are either very interested in or who need to study the foundations of computer language design.

Book cover image courtesy of Open Library.

Your Privacy

By clicking "Accept All Cookies" you agree ACCU can store cookies on your device and disclose information in accordance with our Privacy Policy and Cookie Policy.

By clicking "Share IP Address" you agree ACCU can forward your IP address to third-party sites to enhance the information presented on the site, and that these sites may store cookies on your device.