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)