华南理工大学学报(自然科学版) ›› 2014, Vol. 42 ›› Issue (7): 33-39,73.doi: 10.3969/j.issn.1000-565X.2014.07.006

• 计算机科学与技术 • 上一篇    下一篇

带固定参数的 Monadic 递归

苏锦钿1 余珊珊2   

  1. 1.华南理工大学 计算机科学与工程学院,广东 广州 510640; 2.广东药学院 医药信息工程学院,广东 广州 510006
  • 收稿日期:2014-03-14 修回日期:2014-04-09 出版日期:2014-07-25 发布日期:2014-06-01
  • 通信作者: 苏锦钿(1980-),男,博士,副教授,主要从事形式化方法、形式语义、构件技术、共代数与双代数研究. E-mail:SuJD@scut.edu.cn
  • 作者简介:苏锦钿(1980-),男,博士,副教授,主要从事形式化方法、形式语义、构件技术、共代数与双代数研究.
  • 基金资助:

    国家自然科学基金资助项目(61103038);华南理工大学中央高校基本科研业务费专项资金资助项目(2013ZZ0055)

Monadic Recursions with Fixed Parameters

Su Jin- dian1 Yu Shan- shan2   

  1. 1.School of Computer Science and Engineering,South China University of Technology,Guangzhou 510640,Guangdong,China;2.College of Medical Information Engineering,Guangdong Pharmaceutical University,Guangzhou 510006,Guangdong,China
  • Received:2014-03-14 Revised:2014-04-09 Online:2014-07-25 Published:2014-06-01
  • Contact: 苏锦钿(1980-),男,博士,副教授,主要从事形式化方法、形式语义、构件技术、共代数与双代数研究. E-mail:SuJD@scut.edu.cn
  • About author:苏锦钿(1980-),男,博士,副教授,主要从事形式化方法、形式语义、构件技术、共代数与双代数研究.
  • Supported by:

    国家自然科学基金资助项目(61103038);华南理工大学中央高校基本科研业务费专项资金资助项目(2013ZZ0055)

摘要: 针对归纳数据类型上的递归操作可能包含固定参数且产生计算副作用的问题,结合函数式程序语言中的 monads 及范畴论中的伴随关系给出 monadic 强归纳数据类型的定义及 monadic 强初始性的证明; 在此基础上,进一步提出一种带固定参数且产生计算副作用的递归操作的定义,证明了它比一般的递归具有更好的抽象性和封装性,同时分析了相应的范畴论性质和计算律.

关键词: 递归, 归纳数据类型, 初始代数, monad, 范畴论, 程序语言

Abstract:

Aiming at the possible fixed parameters and computational side- effects of the recursive operations oninductive data types,the authors define the strong monadic inductive data type and presents proofs of strong monadicinitiality by combining the notions of monads in functional programming languages with the adjoint in the categorytheory.Furthermore,we propose a kind of recursion with fixed parameters and computational side- effects.It isproved that this kind of recursion can provide better abstraction and encapsulation in comparison with normal recur-sions.Meanwhile,we discuss the corresponding categorical properties and calculation laws.

Key words: recursion, inductive data type, initial algebra, monad, category theory, programming languages

中图分类号: