Embedding Invertible Languages with Binders - A Case of the FliPpr Language: St. Louis, MO, USA — September 27 - 28, 2018

Kazutaka Matsuda, Meng Wang

Research output: Chapter in Book/Report/Conference proceedingConference Contribution (Conference Proceeding)

1 Citation (Scopus)
171 Downloads (Pure)

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
Subtitle of host publicationInternational Symposium on Haskell
PublisherAssociation for Computing Machinery (ACM)
Pages158-171
ISBN (Print)9781450358354
DOIs
Publication statusPublished - 2018

Publication series

NameACM SIGPLAN Notices
PublisherACM
Number7
Volume53
ISSN (Print)0362-1340
ISSN (Electronic)1558-1160

Structured keywords

  • Programming Languages

Fingerprint

Dive into the research topics of 'Embedding Invertible Languages with Binders - A Case of the FliPpr Language: St. Louis, MO, USA — September 27 - 28, 2018'. Together they form a unique fingerprint.

Cite this