并行任务组合器的演变
在软件开发领域,实验性软件的开发往往并非一帆风顺。iTask系统就是这样一个例子,它从最初以功能语言Clean表达工作流的小实验,逐渐演变成支持面向任务编程(TOP)范式的通用框架,用于构建交互式Web多用户应用程序。本文将聚焦于iTask系统中变化频繁的并行核心组合器,通过分析相关出版物,重构其演变历程,以洞察TOP范式的出现。
1. 研究背景与动机
实验性软件的开发与“生产”软件不同,前者基于尚未完全理解的想法,难以明确界定需求和设计。iTask系统在发展过程中,受两大需求驱动:一是寻找能表达任务模式的最小且完整的核心原语集;二是捕捉广泛的动态现实世界任务,而非局限于刚性工作流。这使得iTask系统的范围超越了传统工作流,形成了新的编程范式。
部分iTask组合器相对稳定,如用于顺序组合的单子“bind”;而并行核心组合器变化频繁,最初并非单一组合器,而是一组相关的专用组合器,在不同出版物中不断演变。如今,回顾其演变历程,有助于我们深入理解TOP范式的形成。
2. 重构方法
为重构并行组合器的演变,我们有两个可用来源:
- 出版物记录 :包含iTask系统里程碑版本的书面记录,优点是提供定义和解释,但由于出版过程的延迟,难以确定定义的使用时间。不过,多数出版物为会议论文集,可通过会议征稿通知中的提交截止日期估算论文定稿时间。
- Subversion日志 :iTask系统公共版本控制仓库的日志,记录更精细,所有提交自动加时间戳,但更改通常仅附带简短日志消息,需研究关键时间点的源代码才能理解组合器的接口和语义。
超级会员免费看
订阅专栏 解锁全文
854

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



