[ghc-steering-committee] A few more pleas
Eric Seidel
eric at seidel.io
Tue Dec 8 15:36:12 UTC 2020
On Mon, Dec 7, 2020, at 22:47, Richard Eisenberg wrote:
> A plea for NamedWildCards: This feature allows type variables beginning
> with an underscore to be treated as a component in a partial type
> signature. Critically (for this plea), a type signature with a named
> wild card will not be accepted without -XPartialTypeSignatures. I do
> *not* advocate for -XPartialTypeSignatures! So, having -XNamedWildCards
> on simply means that we get an informative error message when the user
> writes a type variable beginning with an underscore. The only downside
> is that programs such as id :: _a -> _a are no longer accepted. But
> does anyone write type variables with leading underscores? If we think
> this is at all common, then I would change my mind here. Why have it on
> by default? Because it's not easily discoverable, and the error
> messages really are quite nice.
Aha, so what you're saying is that with NamedWildCards but not PartialTypeSignatures, GHC will tell you what `_a` was solved for, but it won't accept the resulting program? I didn't realize that NamedWildCards did anything in the absence of PartialTypeSignatures, but I agree that this is better. I was already voting for NamedWildCards, but now I'm inclined to additionally vote against PartialTypeSignatures.
More information about the ghc-steering-committee
mailing list