加载中...

范畴论(Category Theory)是研究数学结构及其之间关系的抽象数学分支。一个范畴由对象、对象之间的态射(箭头)以及态射的组合运算构成,要求组合满足结合律且每个对象有恒等态射。它由 Samuel Eilenberg 与 Saunders Mac Lane 于 20 世纪 40 年代创立。
把类型看作对象、函数看作态射,程序语言可以组织成范畴。函数式编程中的 Functor、Natural Transformation、Monad 等概念都直接借自范畴论;Haskell 标准库的类型类层次即以此为蓝本。程序语义学也用范畴论描述语言的数学模型。
常见概念包括函子(范畴间保结构的映射)、自然变换(函子间的映射)、积与余积(对应积类型与和类型)、伴随与极限等。
范畴论被戏称为"抽象废话",但它提供了跨领域统一的组合语言,对类型系统设计、程序验证与函数式抽象有深远影响;Bartosz Milewski 的《Category Theory for Programmers》是程序员入门的知名读物。

登录 后参与讨论
暂无讨论,来发表第一条评论吧