English

Lenses for Partially-Specified States (Extended Version)

Programming Languages 2026-01-09 v1

Abstract

A bidirectional transformation is a pair of transformations satisfying certain well-behavedness properties: one maps source data into view data, and the other translates changes on the view back to the source. However, when multiple views share a source, an update on one view may affect the others, making it hard to maintain correspondence while preserving the user's update, especially when multiple views are changed at once. Ensuring these properties within a compositional framework is even more challenging. In this paper, we propose partial-state lenses, which allow source and view states to be partially specified to precisely represent the user's update intentions. These intentions are partially ordered, providing clear semantics for merging intentions of updates coming from multiple views and a refined notion of update preservation compatible with this merging. We formalize partial-state lenses, together with partial-specifiedness-aware well-behavedness that supports compositional reasoning and ensures update preservation. In addition, we demonstrate the utility of the proposed system through examples.

Cite

@article{arxiv.2601.04573,
  title  = {Lenses for Partially-Specified States (Extended Version)},
  author = {Kazutaka Matsuda and Minh Nguyen and Meng Wang},
  journal= {arXiv preprint arXiv:2601.04573},
  year   = {2026}
}

Comments

Extended version of our paper to appear in ESOP 2026

R2 v1 2026-07-01T08:55:30.275Z