|国家预印本平台
首页|程序语言中的共归纳数据类型及其应用

程序语言中的共归纳数据类型及其应用

oinductive Data Types and their Applications in Programming Languages

中文摘要英文摘要

归纳数据类型利用代数方法从构造的角度归纳地描述数据类型的有限语法结构,但在描述动态行为方面存在一定的不足。作为其范畴对偶概念,共归纳数据类型利用共代数方法从观察的角度共归纳地描述数据类型的动态行为。两者可以形成互补,并提高程序语言对数据类型的行为描述与验证能力。首先,从范畴论和代数的角度分析程序语言中的归纳数据类型;接着,利用共代数给出共归纳数据类型的定义,分析共归纳原理的应用;最后进一步探讨了如何利用合适的分配律将归纳与共归纳数据类型有机地融合起来。

Inductive data types mainly focus on the finite syntactic structures inductively in terms of algebras from the construction perspective and have disadvantages in describing dynamic behavior. As its categorical dual notions, coinductive data types aim to coinductively describe the observable behavior of data types in terms of coalgebras from the observation perspective. Both of them are complementary to each other, which as a result can improve the abilities of behavioral description and verification of programming languages. In this paper, we firstly analyze inductive data types in programming languages from categorical and algebraic perspectives. After that, we continue to present the definition of coinductive data types with coalgebras and analyze the applications of coinductive principles. Finally, we point out how to use suitable distributive laws to combine inductive and coinductive data types.

苏锦钿、余珊珊

计算技术、计算机技术

计算机软件归纳数据类型共归纳数据类型范畴论代数共代数

omputer SoftwareInductive Data TypeCoinductive Data TypeCategory TheoryAlgebrasCoalgebras

苏锦钿,余珊珊.程序语言中的共归纳数据类型及其应用[EB/OL].(2010-12-28)[2025-08-02].http://www.paper.edu.cn/releasepaper/content/201012-1188.点此复制

评论