The Under-Appreciated Put: Implementing Delta-Alignment in BiGUL

Jorge Miguel Ferreira da Silva Mendes,Hsiang-Shang Ko,Zhenjiang Hu
2016-01-01
Abstract:There are two approaches to bidirectional programming. One is the get-based method where one writes get and put is automatically derived, and the other is the put-based method where one writes put and get is automatically derived. In this paper, we argue that the put-based method deserves more attention, because a good language for programming put can not only give full control over the behavior of bidirectional transformations, but also enable us to efficiently develop various domain-specific bidirectional languages and use them seamlessly in one framework, which would be nontrivial with the get-based method. We demonstrate how the matching/delta/generic lenses can be implemented in BiGUL, a putbackbased bidirectional language.
What problem does this paper attempt to address?