On Mar 22, 2018, at 11:15 AM, Simon Peyton Jones <simonpj@microsoft.com> wrote:

Dear GHC steering committee

I strongly propose that we accept

            Treat kind and type vars identically with `forall` #103


Agreed, unsurprisingly.

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. 


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.

Richard

Simon

 

 

_______________________________________________
ghc-steering-committee mailing list
ghc-steering-committee@haskell.org
https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee