-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Proposal : early warning system for breaking changes in the core libraries #18
Comments
Huge +1. As a peanut gallerian, the Eq of No Neq thing came as no shock to me because I subject myself to notification emails on all the RFC repos and could see the evolution of the proposal. (I was surprised, but not shocked.) Most people don't do that. They didn't know how much rational discussion had already gone into it, and they didn't know how quickly it would affect them. I'm not sure if this the same idea or a different one, but I think the tone of an announcement is also important. I get the feeling that most people felt they had no chance to share their thoughts or give feedback — they just learned "Eq is getting a breaking change". We can't prevent all of that, but it could be acknowledged and softened if the message was, "We think this breaking change is worth it. Please now let us know if it causes you any special trouble, and we will try to accommodate you." |
Reading #12 (comment) suggests that announcements and even release notes aren't really going to save peoples time though, which was the issue raised by most of the voices.
This repo already serves as the backlog for both decisions and discussion, no? I'm not sure if yet another place to look for changes will really improve visibility. There could simply be a summary in the README. |
My initial impression was that this was a communication issue as well -- both in informing the community of upcoming changes and also in fostering communication from the community about changes being considered. But @simonmar's post #12 (comment) educated me a bit, stressing that time mitigation is perhaps more important than communication. People use Haskell because it's awesome, and it's awesome because of all the research and development that goes into it. It is thus a natural consequence (to me) that it will continue to evolve -- unless we make a decision to stop that research and development (which would, in my opinion, make it less awesome over time). So people who use Haskell expect some churn. (Perhaps some don't -- if that's the case, we do have a communication issue to solve.) This analysis suggests that we focus on two mitigations:
Interestingly, neither (1) nor (2) directly suggest that we do what is requested at the top of this ticket (the early warning system). I think an early warning system would be indeed good. But I suspect that my (1) and (2) will be more effective in aiding adoption (and preventing attrition). |
As I said elsewhere, despite EqOfNoNonEq proposal churn, in general CLC is responsible only for minority of breakage in Haskell ecosystem. We will upload migration guides for breaking changes caused by CLC under https://github.com/haskell/core-libraries-committee/tree/main/guides, which I believe provides a reasonable visibility. An issue tracker with a wider scope (e. g., including GHC breaking changes) could be useful, but goes far beyond CLC mandate and capabilities. I believe this better falls under recently created HF Stability Working Group, which has been discussing exactly such possibility. CC @cdornan. |
Yes indeed -- we are looking into just this, but for all the things that could disrupt the key components of the ecosystem. |
Insofar that this needs tech at all, I think https://discourse.haskell.org/t/pre-hftp-decoupling-base-and-ghc/3727 is the right approach. The current approach to finding ecosystem breakage outlined in #10 (comment) in fact does involve modifying the base for a released compiler, to avoid confounding other sorts of breakage from GHC "head". With GHC and base decoupled, this would become a more regular process, as we would both test new features in base for existing GHCs and actually release those features to existing GHCs, all in the same way. |
I believe HF Stability Working Group will announce further steps in this direction in due course and the issue will be dealt outside of CLC. Closing to keep the issue list CLC-actionable, but feel free to continue the discussion. |
Seeing that:
I think all this points to a communication issue; we need a way for breaking changes to be advertised (and motivated) in such a way that everyone can see the whole picture. I think the mailing lists and forums are too noisy a medium for this.
Proposal :
cc @emilypi @myShoggoth @simonpj @goldfirere
Closely related:
Out of scope:
Thank you for reading, I look forward to all feedback on this.
The text was updated successfully, but these errors were encountered: