交互式工作流系统 iTasks 入门指南
1. 背景与概述
工作流系统是用于协调任务的自动化系统,部分任务由人类执行,部分由计算机完成。自动化任务能提升流程质量,系统会跟踪任务执行人员和顺序。目前,市面上有许多商业工作流系统,如 Business Process Manager、COSA Workflow 等。
从现代函数式编程语言(如 Clean 和 Haskell)的视角看,当前工作流系统存在一些不足:
- 语言表达 :工作流通常用图形化语言指定,而函数式编程倾向于使用文本语言,通过高阶函数、泛型编程技术和丰富的类型系统进行抽象。
- 数据与控制流 :工作流系统主要处理控制流,对数据流的关注较少,在类型系统和分析方面也不如函数式语言深入。
- 数据访问 :工作流系统中的数据通常全局可访问并存储在数据库中,而函数式语言的数据在函数参数和结果之间传递,更具局部性。
基于这些观察,我们提出能否以及哪些函数式编程技术可提升工作流系统的表达能力。iTask 系统应运而生,它是一组用于指定交互式多用户基于 Web 的工作流的组合器,构建于 iData 工具包之上,二者可在同一程序中使用。
2. iData 工具包与 iTask 系统
2.1 iData 工具包
iData 工具包是一个用于创建交互式瘦客户端 Web 应用程序的高级库,它是嵌入在纯惰性函数式编程语言 Clean 中的领域特定语言。为验证其表达能力,已开发了多个非平凡的 Web 应用程序,如网上商店、项目管理系统和会
超级会员免费看
订阅专栏 解锁全文

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



