An Automatic Generation Technique for Monad
Affiliation:

  • Article
  • | |
  • Metrics
  • |
  • Reference [11]
  • |
  • Related [20]
  • | | |
  • Comments
    Abstract:

    The main focus in Monad-oriented programming is on a set of Monad definitions and a Monad can be defined in an MAP style or a BIND style. Given a Monad library, it can be used directly if it meets the style of the users?need, otherwise, a new style of Monad should be reconstructed, which is a fussy job and even more the new one may not always satisfy the axioms of a Monad definition. However if an automatic Monad generator is added to the library, users can use a Monad freely without asking whether a new style of Monad is needed or how to construct a Monad in order to satisfy the several axioms of the Monad definition, which not only benefits users but also extends the original Monad library. In this paper an automatic Monad generator from other style of Monad is designed and implemented in Haskell. The generating arithmetic is based on the identity relationship between two Monad definitions.

    Reference
    [1]Moggi E. Computational lambda-calculus and monads. Technical Report, ECS-LFCS-88-66, Department of Computer Science, Edinburgh University, 1988.
    [2]Wadler P. Comprehending Monads. Mathematical Structures in Computer Science, 1992,2(3):461~493.
    [3]Walder P. Monad and composable continuations. Lisp and Symbolic Computation, Special Issue on Continuations, 1994,7(1): 39~56.
    [4]Benton N, Walder P. Linear logic, Monads and lambda calculus. In: Proceedings of the 11th IEEE Symposium on Logic in Computer Science. New Brunswick: IEEE Computer Society Press, 1996. 420~431.
    [5]Yuan Q. Research on Monad theory and its application [Ph.D. Thesis]. Changchun: Jilin University, 2000 (in Chinese with English abstract).
    [6]Yuan Q, Jin CZ. Transforming Monad representing to OO program. Journal of Computer Research and Development, 2000,37(6): 668~671 (in Chinese with English abstract).
    [7]Walder P. The essence of functional programming (invited talk). In: Sethi R, ed. Proceedings of the 19th Annual ACM Symposium on Principles of Programming Languages. Albuquerque, ACM press, 1992. 1~14.
    [8]Filinski A. Representation Monads. In: Wing JM, ed. Proceedings of the 21st Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. Oregon: ACM Press, 1994. 446~457.
    [9]Hook J, Kieburtz R, Shear T. Generating programs by reflection. Technical Report, 93-01, OGICSE, 1993.
    [10]袁琦.Monad理论及其应用研究[博士学位论文].长春:吉林大学,2000.
    [11]袁琦,金成植.Monad的面向对象程序的自动生成.计算机研究与发展,2000,37(6):668~671.
    Cited by
    Comments
    Comments
    分享到微博
    Submit
Get Citation

吕江花,金成植. Monad的一种自动生成技术.软件学报,2003,14(12):1989-1995

Copy
Share
Article Metrics
  • Abstract:3827
  • PDF: 5479
  • HTML: 0
  • Cited by: 0
History
  • Received:March 14,2003
  • Revised:March 14,2003
You are the first2045243Visitors
Copyright: Institute of Software, Chinese Academy of Sciences Beijing ICP No. 05046678-4
Address:4# South Fourth Street, Zhong Guan Cun, Beijing 100190,Postal Code:100190
Phone:010-62562563 Fax:010-62562533 Email:jos@iscas.ac.cn
Technical Support:Beijing Qinyun Technology Development Co., Ltd.

Beijing Public Network Security No. 11040202500063