Category Theory in Computing
Table of Contents
1. Introduction
Category theory provides a unifying mathematical framework for understanding computation, types, and program structure through objects, morphisms, and their compositions (Lane 1971).
6. Implementation in Scheme
6.1. 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-record-type <functor> (make-functor source target fmap) functor? (source functor-source) (target functor-target) (fmap functor-fmap)) (define (functor-map F f) "Apply functor F to morphism f" ((functor-fmap F) f))
6.2. Verification Pattern
7. Applications
- Type systems (Hindley-Milner as adjunction) (Lambek and Scott 1986)
- Functional reactive programming
- Database query optimization
- Concurrent and distributed systems
- Effect systems and algebraic effects (Plotkin and Power 2003)