Incremental Relational Lenses

Horn, R., Perera, R. and Cheney, J. (2018) Incremental Relational Lenses. Proceedings of the ACM on Programming Languages, 2(ICFP), 74. (doi: 10.1145/3236769)

167403.pdf - Published Version
Available under License Creative Commons Attribution.



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.

Item Type:Articles
Glasgow Author(s) Enlighten ID:Perera, Dr Roland
Authors: Horn, R., Perera, R., and Cheney, J.
College/School:College of Science and Engineering > School of Computing Science
Journal Name:Proceedings of the ACM on Programming Languages
ISSN (Online):2475-1421
Published Online:30 July 2018
Copyright Holders:Copyright © 2018 The Authors
First Published:First published in Proceedings of the ACM on Programming Languages 2(ICFP): 74
Publisher Policy:Reproduced under a Creative Commons License

University Staff: Request a correction | Enlighten Editors: Update this record

Project CodeAward NoProject NamePrincipal InvestigatorFunder's NameFunder RefLead Dept
612411From Data Types to Session Types - A Basis for Concurrency and Distribution.Simon GayEngineering and Physical Sciences Research Council (EPSRC)EP/K034413/1COM - COMPUTING SCIENCE