arXiv · 2106.14938
Seeking Stability by being Lazy and Shallow
Abstract
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).
Explore related subjects
Keep this discovery
Gert-Jan Bottu, Richard A. Eisenberg. 2021-06-28. Seeking Stability by being Lazy and Shallow. https://arxiv.org/abs/2106.14938
Cite the original work for its findings. Save a collection to share your selection of sources.