[ghc-steering-committee] Proposal: Embrace Type in Type

Richard Eisenberg rae at cs.brynmawr.edu
Wed Feb 21 17:30:12 UTC 2018


> On Feb 21, 2018, at 10:59 AM, Simon Peyton Jones <simonpj at microsoft.com> wrote:
>  
> 4.      Define Type as a new keyword (with TypeInType).  It does not need to be imported; it cannot be overridden or redefined.  (Just like (->).)   
> 
> A variant of this (which I quite like) is to use the existing keyword type (lowercase).
> Advantage: simple clear story
> Note: won’t break existing code; only code that says TypeInType

The overall proposal still would break existing code, because -XTypeOperators would now mean that * is not available. That code would have to switch to using the new syntax, whatever it may be.

Note that we can't really accept this proposal without figuring out what to do about *. Right now, -XTypeInType forces you to import Data.Kind to mention *. This is so that -XTypeInType code can also use type-level multiplication. If we merge -XTypeInType with -XPolyKinds (as proposed), then we need to resolve what will happen to existing code with -XPolyKinds and -XTypeOperators.

Richard
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-steering-committee/attachments/20180221/ef3673e9/attachment.html>


More information about the ghc-steering-committee mailing list