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

Designing a language feature often requires a choice between several, similarly expressive possibilities. Given that user studies are generally impractical, we propose using stability as a way of making such decisions. Stability is a measure of whether the meaning of a program alters under small, seemingly innocuous changes in the code.

Directly motivated by a need to pin down a feature in GHC/Haskell, we apply this notion of stability to analyse four approaches to the instantiation of polymorphic types, concluding that the most stable approach is lazy (instantiate a polytype only when absolutely necessary) and shallow (instantiate only top-level type variables, not variables that appear after explicit arguments).

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