|
软件学报 2003
monad的一种自动生成技术, PP. 1989-1995 Keywords: monad,bind型monad,map型monad,范畴,高阶函数 Abstract: monad程序的核心是一组monad定义.monad定义分为map型和bind型.如果在monad库中已有所需要的monad定义型,则可以直接使用,而不需要重新构造;否则,需要重新构造.但如果在monad程序设计环境中增加从一类monad构造另一类monad的自动生成器,那么既方便了用户也扩充了1倍原有的monad库.鉴于这种思想,用支持monad程序设计的高阶函数语言haskell实现了一个monad的自动生成系统.另外,用户构造monad不仅要花费较多的时间,而且写出的monad多态函数往往不满足monad所需满足的几条公理,因此,从这方面也可以看出,从一种类型的monad自动产生另一种类型的monad的重要意义.
|