Projects per year
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 language | English |
---|---|
Article number | 74 |
Number of pages | 30 |
Journal | Proceedings of the ACM on Programming Languages |
Volume | 2 |
Issue number | ICFP |
Early online date | 30 Jul 2018 |
DOIs | |
Publication status | Published - 1 Sept 2018 |
Event | 23rd ACM SIGPLAN International Conference on Functional Programming - St. Louis, United States Duration: 23 Sept 2018 → 29 Sept 2018 https://icfp18.sigplan.org/home |
Keywords / Materials (for Non-textual outputs)
- cs.PL
- cs.DB
Fingerprint
Dive into the research topics of 'Incremental Relational Lenses'. Together they form a unique fingerprint.Projects
- 3 Finished
-
Skye-A programming language bridging theory and practice for scientific data curation
1/09/16 → 28/02/23
Project: Research
-
A Theory of Least Change for Bidirectional Transformations
Stevens, P., Cheney, J. & Mckinna, J.
15/03/13 → 1/12/16
Project: Research
-
Profiles
-
James Cheney
- School of Informatics - Personal Chair of Programming Languages and Systems
- Laboratory for Foundations of Computer Science
- Foundations of Computation
Person: Academic: Research Active