[ghc-steering-committee] Remove the * kind syntax (#143); Recommendation: accept

Ben Gamari ben at well-typed.com
Sat Jul 14 23:42:09 UTC 2018


Hi everyone,

We are being asked to consider pull request #143. This proposal removes
the `*` symbol as a synonym for `Type`, finishing the work started by
the new `-XNoStarIsType` extension.

This proposal involves a protracted but warranted transition period. In short:

 1. `-XNoStarIsType` will be introduced in GHC 8.6

 2. Warnings will be introduced in GHC 8.8, increasing in visibility in
    later releases.

 3. `-XStarIsType` will be enabled by default starting 12 releases
    (roughly 7 years from now) after GHC 8.6.

 4. 15 releases (8.5 years from now) after GHC 8.6 `-XNoStarIsType` will
    be removed.

The reason for this breakage is that this change will have wide-spread
consequences: in addition to an estimated 25% of Hackage being affected,
a generation of written documentation and pedagogical material will need
to be revised.

While the costs of the change are high, so are the benefits.
`*` is an awkward special case in GHC's syntax and is quite hard to
search for. Moreover, the `StarIsType` will present a significant hurdle
to the future introduction of `DependentHaskell` since `*` may then
signify either term-level numeric multiplication or `Type`.

For these reasons my recommendation is that we accept the proposal.

Cheers,

- Ben
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 487 bytes
Desc: not available
URL: <http://mail.haskell.org/pipermail/ghc-steering-committee/attachments/20180714/725c16ff/attachment.sig>


More information about the ghc-steering-committee mailing list