Incremental Relational Lenses

Rudi Horn, Roly Perera, James Cheney

Research output: Contribution to journalArticlepeer-review

Abstract / Description of output

Lenses are a popular approach to bidirectional transformations, a generalisation of the view update problem in databases, in which we wish to make changes to source tables to effect a desired change on a view. However, perhaps surprisingly, lenses have seldom actually been used to implement updatable views in databases. Bohannon, Pierce and Vaughan proposed an approach to updatable views called relational lenses, but to the best of our knowledge this proposal has not been implemented or evaluated to date. We propose incremental relational lenses, that equip relational lenses with change-propagating semantics that map small changes to the view to (potentially) small changes to the source tables. We also present a language-integrated implementation of relational lenses and a detailed experimental evaluation, showing orders of magnitude improvement over the non-incremental approach. Our work shows that relational lenses can be used to support expressive and efficient view updates at the language level, without relying on updatable view support from the underlying database.
Original languageEnglish
Article number74
Number of pages30
JournalProceedings of the ACM on Programming Languages
Issue numberICFP
Early online date30 Jul 2018
Publication statusPublished - 1 Sept 2018
Event23rd ACM SIGPLAN International Conference on Functional Programming - St. Louis, United States
Duration: 23 Sept 201829 Sept 2018

Keywords / Materials (for Non-textual outputs)

  • cs.PL
  • cs.DB


Dive into the research topics of 'Incremental Relational Lenses'. Together they form a unique fingerprint.

Cite this