Embedding invertible languages with binders: A case of the FlippR language

Kazutaka Matsuda, Meng Wang

Research output: Chapter in Book/Report/Conference proceedingConference contribution

2 Citations (Scopus)

Abstract

This paper describes a new embedding technique of invertible programming languages, through the case of the FliPpr language. Embedded languages have the advantage of inheriting host languages' features and supports; and one of the influential methods of embedding is the tagless-final style, which enables a high level of programmability and extensibility. However, it is not straightforward to apply the method to the family of invertible/reversible/bidirectional languages, due to the different ways functions in such domains are represented. We consider FliPpr, an invertible pretty-printing system, as a representative of such languages, and show that Atkey et al.'s unembedding technique can be used to address the problem. Together with a reformulation of FliPpr, our embedding achieves a high level of interoperability with the host language Haskell, which is not found in any other invertible languages. We implement the idea and demonstrate the benefits of the approach with examples.

Original languageEnglish
Title of host publicationHaskell 2018 - Proceedings of the 11th ACM SIGPLAN International Symposium on Haskell, co-located with ICFP 2018
EditorsNicolas Wu
PublisherAssociation for Computing Machinery, Inc
Pages158-171
Number of pages14
ISBN (Electronic)9781450358354
DOIs
Publication statusPublished - 2018 Sep 17
Event11th ACM SIGPLAN International Symposium on Haskell, Haskell 2018, co-located with ICFP 2018 - St. Louis, United States
Duration: 2018 Sep 272018 Sep 28

Publication series

NameHaskell 2018 - Proceedings of the 11th ACM SIGPLAN International Symposium on Haskell, co-located with ICFP 2018

Other

Other11th ACM SIGPLAN International Symposium on Haskell, Haskell 2018, co-located with ICFP 2018
CountryUnited States
CitySt. Louis
Period18/9/2718/9/28

Keywords

  • EDSL
  • Parsing
  • Pretty-Printing
  • Program Inversion

ASJC Scopus subject areas

  • Computer Graphics and Computer-Aided Design
  • Human-Computer Interaction
  • Computer Vision and Pattern Recognition
  • Computer Science Applications
  • Software

Fingerprint Dive into the research topics of 'Embedding invertible languages with binders: A case of the FlippR language'. Together they form a unique fingerprint.

  • Cite this

    Matsuda, K., & Wang, M. (2018). Embedding invertible languages with binders: A case of the FlippR language. In N. Wu (Ed.), Haskell 2018 - Proceedings of the 11th ACM SIGPLAN International Symposium on Haskell, co-located with ICFP 2018 (pp. 158-171). (Haskell 2018 - Proceedings of the 11th ACM SIGPLAN International Symposium on Haskell, co-located with ICFP 2018). Association for Computing Machinery, Inc. https://doi.org/10.1145/3242744.3242758