范畴的概念于20世纪40年代由波兰-美国数学家S.艾伦伯格(Samuel Eilenberg,1913~1998)和美国数学家S.麦克兰恩(Saunders MacLane,1909~2005)在关于同调代数的工作中所提出,范畴论的基本思想是将一些抽象数学结构,如群、环、域、拓扑空间等的内在共同性提炼出来并进一步加以抽象。从范畴论的角度,这些结构的元素本身并不是最重要的,重要的是对其关系的研究。每个范畴由一族对象和一族射组成,对象的性质通过对象之间的射进行描述。在20世纪70年代,以美国计算机科学家J.A.戈根(Joseph Amadee Goguen)等人为代表的ADJ学派将范畴论中的概念和方法应用于计算机科学之中,在包括形式语义、类型论、代数规约在内的诸多领域均获得了成功应用。例如:对于函数式程序语言,可将其中的类型作为对象,
中的程序
作为从
的输入类型到输出类型的射,即可得到与
对应的范畴
,
中射的组合为L中程序的组合,对象
上的恒等射即为类型
上的恒等函数。程序语言中复杂的数据类型可通过
中对象上的操作实现,如
中对象的积与和操作分别对应于
中的记录类型以及类型的并。
构成
的一个模型,而并非
本身,计算机程序的一个特点是两个不同的程序可能会有相同的执行效果,在范畴语义中,即可解释为与它们对应的两个射相等,若射
,则它们与任意其他射的组合依然相等。
首页
[{"ID":42422,"Name":"理学"},{"ID":81272,"Name":"计算机科学技术"},{"ID":81639,"Name":"计算机科学理论"},{"ID":81659,"Name":"程序设计理论"},{"ID":81661,"Name":"类型理论"}]
. 理学 . 计算机科学技术 . 计算机科学理论 . 程序设计理论 . 类型理论范畴语义学
/categorical semantics/
最后更新 2024-12-03
浏览 136次
运用范畴论中的概念和性质给出计算机语言的形式语义定义。
- 英文名称
- categorical semantics
- 所属学科
- 计算机科学技术
扩展阅读
- BARR M, WELLS C.Category Theory for Computing Science.3rd ed.Montreal:Les Publications CRM,1999.