Departmental Papers (CIS)

Date of this Version

November 2007

Document Type

Journal Article


Postprint version. Published in Lecture Notes in Computer Science, Volume 4855, FSTTCS: Foundations of Software Technology and Theoretical Computer Science, November 2007, pages 21-22.
Publisher URL:


Most programs get used in just one direction, from input to output. But sometimes, having computed an output, we need to be able to update this output and then "calculate backwards" to find a correspondingly updated input. The problem of writing such bidirectional transformations — often called lenses — arises in applications across a multitude of domains and has been attacked from many perspectives [1–12, etc.]. See [13] for a detailed survey.



Date Posted: 14 February 2008