Applicative Bidirectional Programming with Lenses

被引:0
|
作者
Matsuda, Kazutaka [1 ]
Wang, Meng [2 ]
机构
[1] Tohoku Univ, Sendai, Miyagi 980, Japan
[2] Univ Kent, Canterbury CT2 7NZ, Kent, England
关键词
Bidirectional Programming; Lens; Bidirectionalization; Free Theorem; Functional Programming; Haskell; Languages;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:62 / 74
页数:13
相关论文
共 50 条
  • [41] Remarks on applicative theories
    Cantini, A
    ANNALS OF PURE AND APPLIED LOGIC, 2005, 136 (1-2) : 91 - 115
  • [42] APPLICATIVE QUERY LANGUAGES
    BREUER, PT
    UNIVERSITY COMPUTING, 1990, 12 (01): : 2 - 12
  • [43] ASSIGNMENTS FOR APPLICATIVE LANGUAGES
    SWARUP, V
    REDDY, US
    IRELAND, E
    LECTURE NOTES IN COMPUTER SCIENCE, 1991, 523 : 192 - 214
  • [44] Free Applicative Functors
    Capriotti, Paolo
    Kaposi, Ambrus
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2014, (153): : 2 - 30
  • [45] Applicative Intersection Types
    Xue, Xu
    Oliveira, Bruno C. d. S.
    Xie, Ningning
    PROGRAMMING LANGUAGES AND SYSTEMS, APLAS 2022, 2022, 13658 : 155 - 174
  • [46] Double Applicative Functors
    Nestra, Harmel
    THEORETICAL ASPECTS OF COMPUTING - ICTAC 2018, 2018, 11187 : 333 - 353
  • [47] ITERATION FOR APPLICATIVE LANGUAGES
    FURTADO, AL
    VELOSO, PAS
    SIGPLAN NOTICES, 1988, 23 (12): : 86 - 94
  • [48] Bantu applicative constructions
    Jerro, Kyle
    JOURNAL OF AFRICAN LANGUAGES AND LINGUISTICS, 2022, 43 (02) : 305 - 309
  • [49] THE APPLICATIVE DATA MODEL
    HELD, JP
    CARLIS, JV
    INFORMATION SCIENCES, 1989, 49 (1-3) : 249 - 283
  • [50] Truth in applicative theories
    Kahle R.
    Studia Logica, 2001, 68 (1) : 103 - 128