中文

双向计算与纠缠状态单子的概念

编程语言 2017-09-12 v1 软件工程

摘要

双向变换(bx)支持数据源之间有原则的一致性维护。每个数据源对应于复合系统的一个视角,由从该特定视角“获取”和“设置”整体视图的操作来体现。bx在广泛的场景中很重要,包括数据库、交互式应用和模型驱动开发。我们展示bx自然用可变状态建模;特别地,“设置”操作是有状态函数。这自然引导考虑也利用其他计算效应的bx,例如 I/O、非确定性和失败,这些在迄今的bx文献中基本被忽略。我们提出了带效应的对称双向变换的语义基础。我们建立在函数式编程中效应单子封装的成熟理论之上,发展了有效应bx的等式理论和重要组合子,并提供了 Haskell 中的原型实现以及若干说明性示例。

关键词

引用

@article{arxiv.1505.02579,
  title  = {Notions of bidirectional computation and entangled state monads},
  author = {Faris Abou-Saleh and James Cheney and Jeremy Gibbons and James McKinna and Perdita Stevens},
  journal= {arXiv preprint arXiv:1505.02579},
  year   = {2017}
}