Notions of bidirectional computation and entangled state monads
Faris Abou-Saleh, James Cheney, Jeremy Gibbons, James McKinna, and Perdita Stevens

TL;DR
This paper develops a semantic foundation for bidirectional transformations that incorporate computational effects like I/O and nondeterminism, using monads in functional programming to model and implement effectful bx.
Contribution
It introduces a monadic framework for effectful bidirectional transformations, extending the traditional state-based models to include effects like I/O and failure.
Findings
Semantic foundation for effectful bx established
Equational theory and combinators for effectful bx developed
Prototype implementation in Haskell with illustrative examples
Abstract
Bidirectional transformations (bx) support principled consistency maintenance between data sources. Each data source corresponds to one perspective on a composite system, manifested by operations to 'get' and 'set' a view of the whole from that particular perspective. Bx are important in a wide range of settings, including databases, interactive applications, and model-driven development. We show that bx are naturally modelled in terms of mutable state; in particular, the 'set' operations are stateful functions. This leads naturally to considering bx that exploit other computational effects too, such as I/O, nondeterminism, and failure, all largely ignored in the bx literature to date. We present a semantic foundation for symmetric bidirectional transformations with effects. We build on the mature theory of monadic encapsulation of effects in functional programming, develop the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
