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.