Write a Blog >>
ICFP 2018
Sun 23 - Sat 29 September 2018 St. Louis, Missouri, United States
Thu 27 Sep 2018 14:30 - 15:00 at Illinois Central - Session 2 Chair(s): Sam Lindley

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.

Thu 27 Sep

Displayed time zone: Guadalajara, Mexico City, Monterrey change

13:30 - 15:00
Session 2Haskell at Illinois Central
Chair(s): Sam Lindley University of Edinburgh, UK
13:30
30m
Talk
Rhine: FRP with Type-Level Clocks
Haskell
Manuel Bärenz University of Vienna, Austria, Ivan Perez National Institute of Aerospace, USA
DOI
14:00
30m
Talk
A High-Performance Multicore IO Manager Based on libuv (Experience Report)
Haskell
Dong Han Beijing Bytedance, China, Tao He Beijing Bytedance, China
DOI
14:30
30m
Talk
Embedding Invertible Languages with Binders: A Case of the FliPpr Language
Haskell
Kazutaka Matsuda Tohoku University, Japan, Meng Wang University of Bristol, UK
DOI