Generic Point-free Lenses

Citation:
Cunha A, Pacheco H.  2010.  Generic Point-free Lenses. Proceedings of the 10th International Conference on Mathematics of Program Construction - MPC. 6120:331–352.

Tertiary Title:

LNCS

Date Presented:

June

Abstract:

Lenses are one the most popular approaches to define bidirectional transformations between data models. A bidirectional transformation with view-update, denoted a lens, encompasses the definition of a forward transformation projecting concrete models into abstract views, together with a backward transformation instructing how to translate an abstract view to an update over concrete models. In this paper we show that most of the standard point-free combinators can be lifted to lenses with suitable backward semantics, allowing us to use the point-free style to define powerful bidirectional transformations by composition. We also demonstrate how to define generic lenses over arbitrary inductive data types by lifting standard recursion patterns, like folds or unfolds. To exemplify the power of this approach, we “lensify” some standard functions over naturals and lists, which are tricky to define directly “by-hand” using explicit recursion.

Citation Key:

CunhaPacheco:10a

DOI:

10.1007/978-3-642-13321-3_19

PreviewAttachmentSize
mpc10.pdf384.97 KB