Language-Integrated Updatable Views

Rudi Horn, Simon Fowler, James Cheney

Research output: Chapter in Book/Report/Conference proceedingConference contribution


Relational lenses are a modern approach to the view update problem in relational databases. As introduced by Bohannon et al. [5], relational lenses allow the definition of updatable views by the composition of lenses performing individual transformations. Hornet al. [20] 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.
Original languageEnglish
Title of host publication31st Symposium on Implementation and Application of Functional Languages, IFL 2019
Number of pages12
Publication statusAccepted/In press - 11 Feb 2020
Event31st Symposium on Implementation and Application of Functional Languages - National University of Singapore, Singapore
Duration: 25 Sep 201927 Sep 2019
Conference number: 31


Symposium31st Symposium on Implementation and Application of Functional Languages
Abbreviated titleIFL 2019
Internet address

Fingerprint Dive into the research topics of 'Language-Integrated Updatable Views'. Together they form a unique fingerprint.

Cite this