GHC stability discussions

Dear GHC Steering Committee We have several threads about GHC's stability in progress: - Proposal 601: GHC extension life cycle https://github.com/david-christiansen/ghc-proposals/blob/extension-lifecycle.... This introduces the notion of a "Stable" and "Experimental" extension. It was written by David C but has stalled now that he has stepped down as ED. - GHC Stability Goals https://docs.google.com/document/d/1wtbAK6cUhiAmM6eHV5TLh8azEdNtsmGwm47Zulga..., builds on #601 with general rules GR1-3. This is not a change to GHC (hence not a GHC proposal) more a clarification about how the GHC Steering Committee works. - Proposal 620: Extensions and warnings https://github.com/ghc-proposals/ghc-proposals/blob/wip/spj-extensions-and-w.... This proposal keeps moving in the same direction, unifying warnings and extensions. - Proposal 617: add -experimental flag https://github.com/ghc-proposals/ghc-proposals/pull/617. This builds on #601 by providing an enforcement mechanism. It is strongly affected by #620. It would be good to get some of this decided. Too much is in the air at the moment! Personally I think: - We can agree at least the Stable/Experimental part of #601 - The Stability Goals seem fairly uncontroversial. Shall we just make it part of the GHC Proposal process documentation - #620 is new; your views would be welcome - The approach to #617 may depend on the outcome of #620. Simon

Hi, Am Sonntag, dem 05.11.2023 um 23:03 +0000 schrieb Simon Peyton Jones:
It would be good to get some of this decided.
Agreed!
Too much is in the air at the moment! Personally I think: * We can agree at least the Stable/Experimental part of #601 * The Stability Goals seem fairly uncontroversial. Shall we just make it part of the GHC Proposal process documentation * #620 is new; your views would be welcome * The approach to #617 may depend on the outcome of #620.
#601 has more categories than Stable/Experimental, and an enforcement mechanism, which seems to be subsumed by #617 and/or #620, is that right? Then maybe we can send #601 back to revision (or reject it), and just cherry-pick the ideas that we care about? The “Stability Goals” document is a bit more than just goals, it’s actually a pretty clear policy with rules that sound like fresh long distance hiking trails (GR…). But yes, we could ratify them and put them somewhere useful. But why not the GHC documentation? The guarantees written down there, and the definition of “stable package” are relevant to the users, not just those writing proposals. Agreed with parting #670 until #620 is done. Cheers, Joachim -- Joachim Breitner mail@joachim-breitner.de http://www.joachim-breitner.de/

Then maybe we can send #601 back to revision (or reject it), and just cherry-pick the ideas that we care about?
Let's ask Trevis and Chris, the other two co-authors. There is significant interaction with #620. For example, #620 lets you warn on a use of GADTs, whereas #601 lets you warn simply about the presence of -XGADTs flag. (I am pretty doubtful about the utility of having both.) I am pretty keen on at least establishing a Stable/Experimental distinction. I'm agnostic about how many other categories, if any, to establish. The “Stability Goals” document is a bit more than just goals, it’s
actually a pretty clear policy.... But yes, we could ratify them and put them somewhere useful. But why not the GHC documentation?
I advocate for incorporating them in the GHC Steering Committee process,
not GHC documentation, because the rules GR1-3 primarily cover decisions of
the GHC Steering Committee. That is, what changes do we accept? For
example, we might be more willing to accept a breaking change to an
Experimental feature than a Stable one.
Simon
On Mon, 6 Nov 2023 at 08:57, Joachim Breitner
Hi,
Am Sonntag, dem 05.11.2023 um 23:03 +0000 schrieb Simon Peyton Jones:
It would be good to get some of this decided.
Agreed!
Too much is in the air at the moment! Personally I think: * We can agree at least the Stable/Experimental part of #601 * The Stability Goals seem fairly uncontroversial. Shall we just make it part of the GHC Proposal process documentation * #620 is new; your views would be welcome * The approach to #617 may depend on the outcome of #620.
#601 has more categories than Stable/Experimental, and an enforcement mechanism, which seems to be subsumed by #617 and/or #620, is that right? Then maybe we can send #601 back to revision (or reject it), and just cherry-pick the ideas that we care about?
The “Stability Goals” document is a bit more than just goals, it’s actually a pretty clear policy with rules that sound like fresh long distance hiking trails (GR…). But yes, we could ratify them and put them somewhere useful. But why not the GHC documentation? The guarantees written down there, and the definition of “stable package” are relevant to the users, not just those writing proposals.
Agreed with parting #670 until #620 is done.
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

One other interesting thread relating to GHC steering committee stability
policy: #24154
https://gitlab.haskell.org/ghc/ghc/-/issues/24154#note_535014.
Simon
On Sun, 5 Nov 2023 at 23:03, Simon Peyton Jones
Dear GHC Steering Committee
We have several threads about GHC's stability in progress:
- Proposal 601: GHC extension life cycle https://github.com/david-christiansen/ghc-proposals/blob/extension-lifecycle.... This introduces the notion of a "Stable" and "Experimental" extension. It was written by David C but has stalled now that he has stepped down as ED.
- GHC Stability Goals https://docs.google.com/document/d/1wtbAK6cUhiAmM6eHV5TLh8azEdNtsmGwm47Zulga..., builds on #601 with general rules GR1-3. This is not a change to GHC (hence not a GHC proposal) more a clarification about how the GHC Steering Committee works.
- Proposal 620: Extensions and warnings https://github.com/ghc-proposals/ghc-proposals/blob/wip/spj-extensions-and-w.... This proposal keeps moving in the same direction, unifying warnings and extensions.
- Proposal 617: add -experimental flag https://github.com/ghc-proposals/ghc-proposals/pull/617. This builds on #601 by providing an enforcement mechanism. It is strongly affected by #620.
It would be good to get some of this decided. Too much is in the air at the moment! Personally I think:
- We can agree at least the Stable/Experimental part of #601 - The Stability Goals seem fairly uncontroversial. Shall we just make it part of the GHC Proposal process documentation - #620 is new; your views would be welcome - The approach to #617 may depend on the outcome of #620.
Simon
participants (2)
-
Joachim Breitner
-
Simon Peyton Jones