Skip to main content
Kent Academic Repository

Applicative Bidirectional Programming with Lenses

Matsuda, Kazutaka, Wang, Meng (2015) Applicative Bidirectional Programming with Lenses. In: ACM SIGPLAN International Conference on Functional Programming, 31 August – 2 September, 2015, Vancouver, British Columbia, Canada. (doi:10.1145/2858949.2784750) (KAR id:49084)

Abstract

A bidirectional transformation is a pair of mappings between source and view data objects, one in each direction. When the view is modified, the source is updated accordingly with respect to some laws. One way to reduce the development and maintenance effort of bidirectional transformations is to have specialized languages in which the resulting programs are bidirectional by construction---giving rise to the paradigm of bidirectional programming.

In this paper, we develop a framework for applicative-style and higher-order bidirectional programming, in which we can write bidirectional transformations as unidirectional programs in standard functional languages, opening up access to the bundle of language features previously only available to conventional unidirectional languages. Our framework essentially bridges two very different approaches of bidirectional programming, namely the lens framework and Voigtlander’s semantic bidirectionalization, creating a new programming style that is able to bag benefits from both.

Item Type: Conference or workshop item (Paper)
DOI/Identification number: 10.1145/2858949.2784750
Uncontrolled keywords: Bidirectional Programming, Lens, Bidirectionalization, Free Theorem, Functional Programming, Haskell
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
Depositing User: Meng Wang
Date Deposited: 19 Jun 2015 11:25 UTC
Last Modified: 09 Mar 2023 11:33 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/49084 (The current URI for this page, for reference purposes)

University of Kent Author Information

Wang, Meng.

Creator's ORCID:
CReDIT Contributor Roles:
  • Depositors only (login required):

Total unique views for this document in KAR since July 2020. For more details click on the image.