Remove the * kind syntax (#143); Recommendation: accept

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

Hi, Am Samstag, den 14.07.2018, 19:42 -0400 schrieb Ben Gamari:
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.
fine with me so far.
4. 15 releases (8.5 years from now) after GHC 8.6 `-XNoStarIsType` will be removed.
I would rather reword this to “may be removed”, and leave it to the future GHC developers to make the call. It may be that they decide that the cost keeping the StarIsType code around is not that big, and that the benefit of running old code with less effort is higher, and I see no reason to force their hand at this point. Instead of forcing, we should at most give a mandate. Cheers, Joachim -- Joachim Breitner mail@joachim-breitner.de http://www.joachim-breitner.de/

I think you have the polarity backwards. -XNoStarIsType will be enabled by default in 12 releases, and -XStarIsType will be removed after 15. The future is always up for debate. The question, to me, is this: At the 15-release mark, would it take another proposal to A) remove -XStarIsType, or B) keep -XStarIsType Accepting this proposal as-is means (B). In that scenario, we're not committed irreversibly to removing -XStarIsType; it just means that's our current plan. Someone from the future might propose changing the plan, and that could be considered in light of the greater information available in the future. Thus, I think it's all good as is. Richard
On Jul 15, 2018, at 9:06 AM, Joachim Breitner
wrote: Hi,
Am Samstag, den 14.07.2018, 19:42 -0400 schrieb Ben Gamari:
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.
fine with me so far.
4. 15 releases (8.5 years from now) after GHC 8.6 `-XNoStarIsType` will be removed.
I would rather reword this to “may be removed”, and leave it to the future GHC developers to make the call. It may be that they decide that the cost keeping the StarIsType code around is not that big, and that the benefit of running old code with less effort is higher, and I see no reason to force their hand at this point. Instead of forcing, we should at most give a mandate.
Cheers, Joachim
-- Joachim Breitner mail@joachim-breitner.de http://www.joachim-breitner.de/ _______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee

Joachim Breitner
I would rather reword this to “may be removed”, and leave it to the future GHC developers to make the call. It may be that they decide that the cost keeping the StarIsType code around is not that big, and that the benefit of running old code with less effort is higher, and I see no reason to force their hand at this point. Instead of forcing, we should at most give a mandate.
That sounds reasonable to me. Cheers, - Ben

Hi, Am Montag, den 16.07.2018, 18:24 -0400 schrieb Ben Gamari:
Joachim Breitner
writes: snip
I would rather reword this to “may be removed”, and leave it to the future GHC developers to make the call. It may be that they decide that the cost keeping the StarIsType code around is not that big, and that the benefit of running old code with less effort is higher, and I see no reason to force their hand at this point. Instead of forcing, we should at most give a mandate.
That sounds reasonable to me.
Great, no more complains received, hence accepted (with this slight wording provision). Cheers, Joachim -- Joachim Breitner mail@joachim-breitner.de http://www.joachim-breitner.de/
participants (3)
-
Ben Gamari
-
Joachim Breitner
-
Richard Eisenberg