Symmetric Edit Lenses: A New Foundation for Bidirectional Languages

dc.contributor.advisorBenjamin C. Pierce
dc.contributor.authorWagner, Daniel
dc.date2023-05-17T12:56:56.000
dc.date.accessioned2023-05-22T16:35:33Z
dc.date.available2001-01-01T00:00:00Z
dc.date.copyright2015-11-16T00:00:00-08:00
dc.date.issued2014-01-01
dc.date.submitted2015-11-16T13:06:36-08:00
dc.description.abstractLenses are bidirectional transformations between pairs of connected structures capable of translating an edit on one structure into an edit on the other. Most of the extensive existing work on lenses has focused on the special case of asymmetric lenses, where one structures is taken as primary and the other is thought of as a projection or view. Some symmetric variants exist, where each structure contains information not present in the other, but these all lack the basic operation of composition. Additionally, existing accounts do not represent edits carefully, making incremental operation difficult or producing unsatisfactory synchronization candidates. We present a new symmetric formulation which works with descriptions of changes to structures, rather than with the structures themselves. We construct a semantic space of edit lenses between “editable structures”—monoids of edits with a partial monoid action for applying edits—with natural laws governing their behavior. We present generalizations of a number of known constructions on asymmetric lenses and settle some longstanding questions about their properties—in particular, we prove the existence of (symmetric monoidal) tensor products and sums and the non-existence of full categorical products and sums in a category of lenses. Universal algebra shows how to build iterator lenses for structured data such as lists and trees, yielding lenses for operations like mapping, filtering, and concatenation from first principles. More generally, we provide mapping combinators based on the theory of containers. Finally, we present a prototype implementation of the core theory and take a first step in addressing the challenge of translating between user gestures and the internal representation of edits.
dc.description.degreeDoctor of Philosophy (PhD)
dc.format.extent234 p.
dc.format.mimetypeapplication/pdf
dc.identifier.urihttps://repository.upenn.edu/handle/20.500.14332/28304
dc.languageen
dc.legacy.articleid3300
dc.legacy.fulltexturlhttps://repository.upenn.edu/cgi/viewcontent.cgi?article=3300&context=edissertations&unstamped=1
dc.provenanceReceived from ProQuest
dc.rightsDaniel Wagner
dc.source.issue1488
dc.source.journalPublicly Accessible Penn Dissertations
dc.source.statuspublished
dc.subject.otherbidirectional transformations
dc.subject.othercategory theory
dc.subject.otherlens
dc.subject.otherprogramming languages
dc.subject.otherComputer Sciences
dc.titleSymmetric Edit Lenses: A New Foundation for Bidirectional Languages
dc.typeDissertation/Thesis
digcom.contributor.authorisAuthorOfPublication|email:wagnerdm@seas.upenn.edu|institution:University of Pennsylvania|Wagner, Daniel
digcom.date.embargo2001-01-01T00:00:00-08:00
digcom.identifieredissertations/1488
digcom.identifier.contextkey7851295
digcom.identifier.submissionpathedissertations/1488
digcom.typedissertation
dspace.entity.typePublication
relation.isAuthorOfPublicationdca741d2-1198-4002-aba8-bbe97e53c4c9
relation.isAuthorOfPublication.latestForDiscoverydca741d2-1198-4002-aba8-bbe97e53c4c9
upenn.graduate.groupComputer and Information Science
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Wagner_upenngdas_0175C_11251.pdf
Size:
2.38 MB
Format:
Adobe Portable Document Format