Links und Funktionen

You are here: Home / Publikationen / Edit lenses


Martin Hofmann, Benjamin C Pierce, and Daniel Wagner (2012)

Edit lenses

In: POPL, pp. 495-508.

A lens is a bidirectional transformation between a pair of connected$~$data structures, capable of translating an edit on one structure into$~$an appropriate edit on the other. Many varieties of lenses have$~$been studied, but none, to date, has offered a satisfactory treatment$~$of how edits are represented. Many foundational accounts$~$only consider edits of the form “overwrite the whole structure,”$~$leading to poor behavior in many situations by failing to track the$~$associations between corresponding parts of the structures when$~$elements are inserted and deleted in ordered lists, for example.$~$Other theories of lenses do maintain these associations, either by$~$annotating the structures themselves with change information$~$or using auxiliary data structures, but every extant theory$~$assumes that the entire original source structure is part of the$~$information passed to the lens.

symmetric, algebra, edit, bidirectional programming, lens

Document Actions