期刊文献+

程序语言中共归纳数据类型的一种fibrations方法 被引量:2

Fibrations Method of Co-inductive Data Types in Programming
在线阅读 下载PDF
导出
摘要 范畴论与共代数是程序语言中共归纳数据类型研究的传统方法,这些方法在语义行为分析与共归纳规则描述等方面存在一定的不足。针对以上问题,提出了一种fibrations方法以对共归纳数据类型的语义行为与共归纳规则进行研究。该方法系统分析了fibration上共归纳数据类型的重索引函子、对偶重索引函子与真值函子等基本逻辑结构,应用等式函子与商函子等工具建立共归纳数据类型与其语义行为在程序逻辑上的对应关系,深入分析共归纳数据类型的语义行为;并以基范畴上自函子及其在全范畴上保持等式的提升为工具构造共递归操作,抽象描述共归纳数据类型具有普适意义的共归纳规则;最后通过实例分析简要介绍了fibrations方法的应用。 Traditional methods of co-inductive data types in programming,such as co-algebra and category theory,have some problems in analyzing semantics behaviors and describing co-inductive rules.Considering the status quo of co-inductive data types researches both at home and abroad,a fibrations method was proposed in this paper.Firstly,some basic logical structures of co-inductive data types are systematically analyzed over a fibration including reindexed functor,op-reindexed functor and truth functor,and the corresponding relationship between co-inductive data types and their semantic behaviors on program logic is established by equality functor and quotient functor.Then semantic behaviors of co-inductive data types are deeply analyzed.Secondly,co-recursive operations are constructed to describe abstractly coinductive rules of co-inductive data types with universality by endo-functors in base categories and their equality-preserving lifting in total categories.At last applications of fibrations method are briefly introduced by examples.
出处 《计算机科学》 CSCD 北大核心 2016年第3期188-192,212,共6页 Computer Science
基金 国家自然科学基金项目(61103038) 广东省自然科学基金项目(S2013010015944) 广东省战略性新兴产业核心技术攻关项目(2011A010801008 2012A010701011 2012A010701003) 韶关市科技计划项目(2013CX/K61)资助
关键词 语义行为 共归纳规则 fibrations方法 共归纳数据类型 提升 Semantic behaviors Co-inductive rules Fibrations method Co-inductive data types Lifting
  • 相关文献

参考文献3

二级参考文献98

  • 1Bird R. Introduction to Functional Programming using Haskell ( 2nd Edition) [M]. Prentice-Hall, UK, 1998.
  • 2Meijer E, Fokkinga M, Paterson R. Functional Program ming with Bananas, Lenses, Envelopes and Barbed Wire[M]. Hughes J, ed. Functional Programming Languages and Compu-ter Ar chitecture, number 523 in Lect. Notes Comp. Sci., Berlin: Springer, 1991 : 215-240.
  • 3Bird R S, Moor O D. Algebra of Programming [M]. Prentice HalI,UK, 1997.
  • 4Gibbons J. Lecture Notes on Algebraic and Coalgebraie Methods for Calculating Functional Programs[M]. Summer School on Algebraic and Coalgebraic Methods in the Mathematics of Program Construction, Oxford, UK, 2000.
  • 5Greiner J. Programming with Inductive and Co-inductive Types [R]. CMU-CS-92-109. School of Comp. Sci., Carnegie-Mellon Univ. , Pittsburgh, 1992.
  • 6Hensel U, Jacobs B. Coalgebraic Theories of Sequences in PVS[J]. Journal of Logic and Computation, 1999.
  • 7Kieburtz R B. Codata and Comonads in Haskell[Z]. unpublished manuscript, 1999.
  • 8Hinze R. Reasoning about Codata [J]. Lecture Notes in Compu ter Science, 2010,6299 : 42-93.
  • 9Jacobs B. Introduction to Coalgebra: Towards Matbe matics of States and Observations. Book Drah[OL]. http://www. cs. ru. nl/-bart, 2005.
  • 10Hutton G. Fold and Unfold for Program Semantics[C]//Proc. 3rd. ACM SIGH.AN International Conference on Functional Programming. ACM, 1998.

共引文献25

同被引文献6

引证文献2

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部