Category Theory in Computing
Table of Contents
Introduction
Category theory provides a unifying mathematical framework for understanding computation, types, and program structure through objects, morphisms, and their compositions.
Fundamental Structures
Categories, Functors, Natural Transformations
Commutative Diagrams
Monad Structure
Categorical Patterns in Programming
The Expression Problem
Free Monads and Interpreters
Strange Loops and Self-Reference
Implementation in Scheme
Category as Record
(define-record-type <category> (make-category objects morphisms compose identity) category? (objects category-objects) (morphisms category-morphisms) (compose category-compose) (identity category-identity)) (define (functor-map F f) "Apply functor F to morphism f" ((functor-fmap F) f))
Verification Pattern
Applications
- Type systems (Hindley-Milner as adjunction)
- Functional reactive programming
- Database query optimization
- Concurrent and distributed systems
- Effect systems and algebraic effects
Resources
- Categories for the Working Mathematician (Mac Lane)
- Category Theory for Programmers (Milewski)
- Seven Sketches in Compositionality (Fong & Spivak)
