当前位置: X-MOL 学术arXiv.cs.PL › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Language-Integrated Updatable Views (Extended version)
arXiv - CS - Programming Languages Pub Date : 2020-03-04 , DOI: arxiv-2003.02191
Rudi Horn, Simon Fowler, and James Cheney

Relational lenses are a modern approach to the view update problem in relational databases. As introduced by Bohannon et al. (2006), relational lenses allow the definition of updatable views by the composition of lenses performing individual transformations. Horn et al. (2018) provided the first implementation of incremental relational lenses, which demonstrated that relational lenses can be implemented efficiently by propagating changes to the database rather than replacing the entire database state. However, neither approach proposes a concrete language design; consequently, it is unclear how to integrate lenses into a general-purpose programming language, or how to check that lenses satisfy the well-formedness conditions needed for predictable behaviour. In this paper, we propose the first full account of relational lenses in a functional programming language, by extending the Links web programming language. We provide support for higher-order predicates, and provide the first account of typechecking relational lenses which is amenable to implementation. We prove the soundness of our typing rules, and illustrate our approach by implementing a curation interface for a scientific database application.

中文翻译:

语言集成的可更新视图(扩展版)

关系镜头是解决关系数据库中视图更新问题的现代方法。正如 Bohannon 等人所介绍的那样。(2006),关系镜头允许通过执行单独转换的镜头组合来定义可更新的视图。霍恩等人。(2018) 提供了增量关系透镜的第一个实现,这表明可以通过将更改传播到数据库而不是替换整个数据库状态来有效地实现关系透镜。然而,这两种方法都没有提出具体的语言设计;因此,尚不清楚如何将镜头集成到通用编程语言中,或者如何检查镜头是否满足可预测行为所需的格式良好的条件。在本文中,通过扩展 Links 网络编程语言,我们提出了函数式编程语言中关系镜头的第一个完整说明。我们提供对高阶谓词的支持,并提供了适合实现的类型检查关系镜头的第一个帐户。我们证明了我们的打字规则的合理性,并通过为科学数据库应用程序实现管理接口来说明我们的方法。
更新日期:2020-03-10
down
wechat
bug