[ghc-steering-committee] Treat kind and type vars identically with `forall` #103

Simon Peyton Jones simonpj at microsoft.com
Tue May 22 16:34:08 UTC 2018


Dear committee

> > I strongly propose that we accept
> >             Treat kind and type vars identically with `forall` #103
> 
> Agreed, unsurprisingly.

There seems to be consensus.  We accept!

I proposed this:

> > Moreover, I propose that we adopt it without a 3-release wait after
> > #83 – see under Alternatives.   Any programs that are rejected by
> > #103 can be fixed by adding some extra forall k’s.  And that change
> > will be accepted NOW if you add -XTypeInType. 

But Richard and Manual disagreed:

> Here I disagree. Enabling -XTypeInType has two unfortunate knock-on
> effects:
>  - * is no longer available in kinds, without import Data.Kind.
> Happily, GHC gives a good error message upon a forgotten `import
> Data.Kind`, so this isn't so bad, but it will bite very widely.
>  - More troublesomely, the CUSK rules are different with -XTypeInType
> than without. This means that turning on -XTypeInType can turn some
> CUSKs into non-CUSKs, producing utterly befuddling error messages.
> Maybe this won't bite so often, but when it does, it will take a
> developer a long time to sort out the problem.
> 
> After #83, these problems melt away, but I think it will be painful
> for users to support multiple versions in the meantime.

So let's accept the proposal as-is, i.e. with the 3-release wait.

Simon


More information about the ghc-steering-committee mailing list