### 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 equational theory and important combinators for effectful bx, and provide a prototype implementation in Haskell along with several illustrative examples.

Original language | English |
---|---|

Title of host publication | Mathematics of Program Construction. MPC 2015 |

Editors | Janis Voigtländer, Ralf Hinze |

Publisher | Springer |

Pages | 187-214 |

Number of pages | 28 |

ISBN (Electronic) | 9783319197975 |

ISBN (Print) | 9783319197968 |

DOIs | |

Publication status | Published - 2015 |

Event | 12th International Conference on Mathematics of Program Construction 2015 - Konigswinter, Germany Duration: 29 Jun 2015 → 1 Jul 2015 |

### Publication series

Name | Lecture Notes in Computer Science |
---|---|

Volume | 9129 |

ISSN (Print) | 0302-9743 |

ISSN (Electronic) | 1611-3349 |

### Conference

Conference | 12th International Conference on Mathematics of Program Construction 2015 |
---|---|

Abbreviated title | MPC 2015 |

Country | Germany |

City | Konigswinter |

Period | 29/06/15 → 1/07/15 |

### ASJC Scopus subject areas

- Theoretical Computer Science
- Computer Science(all)

## Fingerprint Dive into the research topics of 'Notions of bidirectional computation and entangled state monads'. Together they form a unique fingerprint.

## Cite this

*Mathematics of Program Construction. MPC 2015*(pp. 187-214). (Lecture Notes in Computer Science; Vol. 9129). Springer. https://doi.org/10.1007/978-3-319-19797-5_9