Guarded Impredicativity
summary
Proposes guarded impredicativity: allow impredicative instantiation only when the forall appears inside a type constructor. Gives a precise algorithm (constraint generation + delayed instantiation, then elimination) and proves preservation of principal types, so inference remains decidable. Implements a prototype for GHC, runs across Hackage and requires only a handful of small edits (around fifteen packages) to compile, showing the feature is practical and interoperates with GHC extensions.
AI-written summary · about
chapters (5)
related talks
45mDepending on Types
31mParametricity The Essence of Information Hiding
33mStatically Typed Interpreters
39mDependent Types in Haskell
15mScalable Type Inference for Intrinsically-Typed Binders
50mOverlapping and Undecidable and Incoherent, Oh My!
50mImplicits Inspected and Explained
22mIs Space-Efficient Polymorphic Gradual Typing Possible?
