iTasks:定义交互式 Web 工作流的全面指南
1. 核心系统的基本组合子
在 iTask 工具包中,顺序组合基于单子。借助唯一性类型,我们可自由选择以显式环境传递风格或隐式单子风格来处理唯一的 iTask 状态 TSt。在 iTask 系统的实现中,我们选择了显式风格,因为这样能直接访问唯一的 iTask 状态 TSt 和唯一的 iData 状态 HSt,如 editTask 的定义所示。不过,对于应用程序员而言, TSt 应是不透明的,我们为他们提供了单子接口。在核心系统中,其实现就是一个状态转换函数。
以下是一些基本组合子的实现:
- return_D 函数 :
return_D :: a → Task a | gForm{|⋆|}, iCreateAndPrint a
return_D a = doTask (λtst → (a, {tst & html = tst.html ++ toHtml a}))
- 提示组合子
?>>和!>>:
(?>>) infix 5 :: [BodyTag] (Task a) → Task a | iCreate a
(?>&g
超级会员免费看
订阅专栏 解锁全文
6203

被折叠的 条评论
为什么被折叠?



