Unifying Set-Based, Delta-Based and Edit-Based Lenses

There are many dierent types of lenses, but largely they fall into the three classes of the title: set-based, delta-based and edit-based lenses. This paper develops some of the general relationships between those classes. The main results are that a category of set-based lenses is a full subcategory of a category of delta-based lenses determined by sending sets to codiscrete categories; that symmetric set-based lenses can similarly be seen as symmetric delta-based lenses; that symmetric editbased lenses are able to be represented as symmetric delta-based lenses, although not as a subcategory; and that symmetric edit-based lenses can also be seen as spans of a new notion of asymmetric edit-based lenses. The importance of the paper is that it provides a substantial unication with concrete inter-conversions developed among the three main approaches to lenses in both their symmetric and asymmetric forms.

[1]  Michael Johnson,et al.  Spans of Delta Lenses , 2015, Bx@STAF.

[2]  Martin Hofmann,et al.  Symmetric lenses , 2011, POPL '11.

[3]  Michael Johnson,et al.  Spans of lenses , 2014, EDBT/ICDT Workshops.

[4]  Michael Johnson,et al.  Algebras and Update Strategies , 2010, J. Univers. Comput. Sci..

[5]  Krzysztof Czarnecki,et al.  From State- to Delta-Based Bidirectional Model Transformations: the Asymmetric Case , 2011, J. Object Technol..

[6]  Benjamin Pierce,et al.  Lenses and View Update Translation , 2003 .

[7]  Hartmut Ehrig,et al.  From state- to delta-based bidirectional model transformations: the symmetric case , 2011, MODELS'11.

[8]  Martin Hofmann,et al.  Edit lenses , 2012, POPL '12.