ICFP 2021
Sun 22 - Sat 28 August 2021
Fri 27 Aug 2021 20:00 - 20:30 at Haskell - Paper Session 3

Embedded domain-specific languages (eDSLs) are typically implemented in a rich host language, such as Haskell, using a combination of deep and shallow embedding techniques. While such a combination enables programmers to exploit the execution mechanism of Haskell to build and specialize eDSL programs, it blurs the distinction between the host language and the eDSL. As a consequence, extension with features such as sums and effects requires a significant amount of ingenuity from the eDSL designer. In this paper, we demonstrate that Normalization by Evaluation (NbE) provides a principled framework for building, extending, and customizing eDSLs. We present a comprehensive treatment of NbE for deeply embedded eDSLs in Haskell that involves a rich set of features such as sums, arrays, exceptions and state, while addressing practical concerns about normalization such as code expansion and the addition of domain-specific features.

Fri 27 Aug

Displayed time zone: Seoul change

20:00 - 21:30
Paper Session 3Haskell at Haskell
20:00
30m
Talk
Practical Normalization by Evaluation for EDSLs
Haskell
Nachiappan Valliappan Chalmers University of Technology, Sweden, Alejandro Russo Chalmers University of Technology, Sweden, Sam Lindley The University of Edinburgh, UK
20:30
30m
Talk
Safe Mutation with Algebraic Effects
Haskell
Hashan Punchihewa Imperial College London, Nicolas Wu Imperial College London, UK
21:00
30m
Talk
Seeking Stability by being Lazy and Shallow: Lazy and shallow instantiation is user friendly
Haskell