Modern scoped type variables: extension shuffling
The accepted GHC Proposal #448 "Modern scoped type variables" contains a section on "Extension shuffling" that redistributes responsibility of ScopedTypeVariables
extension between new ones, introduces new extension and warning, in particular:
-
PatternSignatures
allows user to write signatures in patterns -
MethodTypeVariables
gives variables from the instance head into method scope -
ExtendedForAllScope
gives anyforall
'ed type variables into expression scope -
ImplicitForAll
allows user to turn on/off implicitforall
creation -
-Wpattern-signature-binds
warns if pattern signature binds a type variable