ICFP 2021 (series) / Haskell 2021 (series) / Haskell 2021 /
Seeking Stability by being Lazy and Shallow: Lazy and shallow instantiation is user friendly
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 AugDisplayed time zone: Seoul change
Fri 27 Aug
Displayed time zone: Seoul change
20:00 - 21:30 | |||
20:00 30mTalk | 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 30mTalk | Safe Mutation with Algebraic Effects Haskell | ||
21:00 30mTalk | Seeking Stability by being Lazy and Shallow: Lazy and shallow instantiation is user friendly Haskell |