[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