3 ms·
The big problem with ScopedTypeVariables is that it changes the meaning of existing code by unifying type variables that are not unified today in standardized H
by pash 11y ago
The big problem with ScopedTypeVariables is that it changes the meaning of existing code by unifying type variables that are not unified today in standardized Haskell.
It's one of those things that you'd probably do if you were starting with a blank slate, but it's not worth breaking existing code for when you can instead get the functionality through an opt-in extension. GHC Haskell's language extensions are pretty nice that way, but it would be nice to standardize the extensions to open the (extended) language back up to alternative implementations.
- dllthomas 11y agoI'm inclined to agree with your conclusion, overall. In this case it's worth noting that the issue is ameliorated by the fact that ScopedTypeVariables can only change the meaning of code that already uses other extensions, since it only affects type variables explicitly listed in a forall, and by default you can't have explicit foralls.