
I don't think we want to flag *individual *bindings in ghc-internals; they
are all there for a good, internal, non-deprecated reason. What we want to
discourage is for GHC clients to depend on *any module *in ghc-internals
casually, without having a Strong Reason to do so. Why discourage?
- Everything they want should be in base. And maybe it already is! If
not, and if they have a need, and base doesn't have it, then they may want
to depend on ghc-internals temporarily and petition CLC to extend base.
- If they casually depend on ghc-internals, they impose costs on
themselves (when we change the API) and on us (when they complain about us
changing the API).
I have no strong opinion about want form "discourage" takes. Certainly not
"prevent".
Simon
On Tue, 27 Jun 2023 at 14:59, Moritz Angermann
I have some concern around the discouraging concept as well.
Ideally we had some marker INTERNAL like DEPRECATED, that could be attached to individual bindings, complete modules or even packages. If this existed, we could have code either error if it used any INTERNAL binding, and no -fpermit-internals was provided. If this was attached to already exposed bindings we’d want a warning phase for at least two releases which I believe DEPRECATED could do?
However, we don’t have this today, so I wouldn’t want this to block this proposal from progressing.
I’m not so much for hiding it. Reading up on it and knowing the details (or even looking at the source) can be helpful at times. Making discovery harder by hiding it would not be my preferred route.
Cheers, Moritz
On Tue, 27 Jun 2023 at 3:09 PM, Arnaud Spiwack
wrote: I don't have a strong opinion. I trust the people involved.
The one thing I'll note is that the part about discouraging people from depending on ghc-internals seems to involve an awful lot of work. I wouldn't count on such work being done promptly. The one thing in the least that can be done reasonably cheaply is making sure that every module in ghc-internals to be annotated with {-# OPTIONS_HADDOCK hide #-} (so that Haddock only generate documentation for the source but not for the module interfaces).
/Arnaud
On Tue, 20 Jun 2023 at 09:03, Chris Dornan
wrote: Really, all LGTM!
On 19 Jun 2023, at 22:10, Simon Peyton Jones < simon.peytonjones@gmail.com> wrote:
Hello GHC steering committee,
Any views about this?
Simon
On Thu, 15 Jun 2023 at 10:03, Simon Peyton Jones < simon.peytonjones@gmail.com> wrote:
Dear GHC Steering Committee
Over the last few weeks, Ben Gamari and I have been discussing with Andrew and Julian from the Core Libraries Committee how to make the Core Libraries Committee and the GHC developers work together more fluidly; and that includes the GHC Steering Committee.
We now have a fairly well fleshed out proposal here. https://github.com/Ericson2314/tech-proposals/blob/ghc-base-libraries/propos...
I hope you like it. As far as this committee is concerned there are two particular points of note
1. We propose a new package, *ghc-experimental*, which depends on *base*. Many GHC proposals involve defining new types and functions. The idea is that these would initially be in *ghc-experimental*. After they stabilise and become widely adopted, the author (or anyone else) can make a CLC proposal to move them to *base*, which has much stronger stability guarantees. 2. Section 5.1 suggests a mechanism to involve CLC members in proposals that involve new functions and types, at an earlier stage. Some involve *changing *existing types and functions. It is clearly unproductive for us to debate such things at length, and only *then *to land it on the CLC.
Section 5.1 also suggests that proposals should explicitly (in a separate section) call out
- What new types and functions it defines - What existing types and functions are changed.
We should add that to our template.
At the moment we are just sharing the proposal with relevant stakeholders (yourselves, CLC, stack folk, cabal folk etc), so that we can polish any rough edges before making it public.
So, any views? Personally I think this is a Big Step Forward.
Simon
_______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
_______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
-- Arnaud Spiwack Director, Research at https://moduscreate.com and https://tweag.io. _______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
_______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee