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

Richard Eisenberg rae at cs.brynmawr.edu
Thu Mar 22 15:52:39 UTC 2018


> On Mar 22, 2018, at 11:15 AM, Simon Peyton Jones <simonpj at 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 at haskell.org <mailto:ghc-steering-committee at haskell.org>
> https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee <https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-steering-committee/attachments/20180322/79334003/attachment.html>


More information about the ghc-steering-committee mailing list