-
Notifications
You must be signed in to change notification settings - Fork 5
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
Add post about Stability Working Group #13
base: main
Are you sure you want to change the base?
Conversation
|
||
The health of the Haskell ecosystem is very important to me. Most of my professional career to this point has involved using Haskell. As such it is in my own best interest to help the community to be healthy and grow. That way I can continue to work in the language and ecosystem! Even prior to my professional career, I used Haskell as an undergraduate. Despite it not being a part of the curriculum and being met with skepticism from several advisors that I could ever find work in Haskell. | ||
|
||
Working as first a member and now chair of the Haskell Foundation Stability Working Group has been enlightening. Over the last few years two things have become very apparent. First, that there is a real appetite for movement from practitioners on some notion of stability. Second, getting things done in this area takes much more time and effort than it would seem. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Working as first a member
You'll have to pardon my English, but is this order of prepositions allowed? I would have gone for "Working first as a member", but I have never met "as" being put before "first" before.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This could definitely be an American torturing of language. I'm happy to change it.
- academic materials might need to be rewritten | ||
- any other number of issues that are difficult to predict | ||
|
||
But we just said that change is going to happen! As such, _ecosystem stability_ is managing the *impact* of change as felt by all members described above . In order to reduce the negative impacts of change to the ecosystem there must be a graceful handling path, not a lack of change entirely. For example, deprecating something before removal. Another important factor here is the timing. Being predictable in change management means that the various groups can schedule work rather than being interrupted. This is why it is critical to be able to handle change as gracefully as possible. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But we just said that change is going to happen! As such, _ecosystem stability_ is managing the *impact* of change as felt by all members described above . In order to reduce the negative impacts of change to the ecosystem there must be a graceful handling path, not a lack of change entirely. For example, deprecating something before removal. Another important factor here is the timing. Being predictable in change management means that the various groups can schedule work rather than being interrupted. This is why it is critical to be able to handle change as gracefully as possible. | |
But we just said that change is going to happen! As such, _ecosystem stability_ is managing the *impact* of change as felt by all members described above. In order to reduce the negative impacts of change to the ecosystem there must be a graceful handling path, not a lack of change entirely. For example, deprecating something before removal. Another important factor here is the timing. Being predictable in change management means that the various groups can schedule work rather than being interrupted. This is why it is critical to be able to handle change as gracefully as possible. |
|
||
## Who am I? | ||
|
||
The health of the Haskell ecosystem is very important to me. Most of my professional career to this point has involved using Haskell. As such it is in my own best interest to help the community to be healthy and grow. That way I can continue to work in the language and ecosystem! Even prior to my professional career, I used Haskell as an undergraduate. Despite it not being a part of the curriculum and being met with skepticism from several advisors that I could ever find work in Haskell. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To answer the question asked in the title, you could probably start this paragraph with "I am Trevis, chair of the Stability Working Group", and then go on about your motivations for why you're involved. :)
Thank you @Kleidukos and @Bodigrim! The suggestions should be included now. |
|
||
### Contact | ||
|
||
You can reach me via email `trevis <at> flipstone <dot> com`, or less reliably on matrix and discourse. The SWG as a whole can be reached at [GitHub](https://github.com/haskellfoundation/stability) and via email `stability <at> haskell <dot> foundation`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would suggest this section to give direct answers to the following questions:
- Which mediums SWG uses for discussions? Presumably face-to-face meetings only.
- How can I follow SWG discussions without being a member? Presumably by subscribing to the GitHub repo updates to read the minutes and/or by reaching you by email (?) for a visitor pass to a meeting. Are there public archives of any related mail lists?
- How can I contact SWG? Presumably via its email (is it a public mail list? who is going to be recipients?) or via your personal email. Is raising an issue at GitHub repo an appropriate way to contact?
- How can I become an SWG member? Where can I find the list of existing members?
Apologies if this feels too forceful, but as much as I can gather from the tone of the post you'd like to increase community participation. It's better to provide a detailed and actionable step-by-step algorithm for anyone who wants to get involved.
|
||
We worked on a [review](https://jappie.me/analyzing-haskell-stability.html) of breakages tracked by the GHC team. This was illuminating to highlight and enumerate a high level set of changes. There is still room to do more extensive analysis here as well. | ||
|
||
Another project we have been working on is defining a framework for classifying GHC language extensions. This has been a long process. But ultimately is the type of communication enhancing improvement that is needed for predictability. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a suitable place to provide links to the artifacts of this process. Is there a GHC proposal maybe or anything else?
|
||
Another project we have been working on is defining a framework for classifying GHC language extensions. This has been a long process. But ultimately is the type of communication enhancing improvement that is needed for predictability. | ||
|
||
More concretely we have defined a set of compiler features to help with stability. These were ideas that already existed in some form. Examples that we were able to bring to attention and have since landed in GHC include warning categories and deprecation of exports. Those both allow for more communication from compiler and library authors to users. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you possibly link relevant proposals / GHC manual sections? It would be great to demonstrate as many tangible results as possible.
|
||
## How you can help | ||
|
||
We have been working on many things, but we can still use help! Hopefully I have intrigued, inspired, or just otherwise cajoled you into a desire to contribute. There are several ways to help. The lowest effort is to contribute to Haskell Foundation. Another is to reach out! As I said above we have several projects that could use someone to champion. The SWG often hosts guests at meetings to discuss particular issues or concerns. You do not have to commit ongoing time in order to contribute! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"contribute to Haskell Foundation" - do you mean to donate?
"several projects" - it would gather more attention if you list a few specific examples (potentially repeating yourself). Re-reading the previous section it's not immediately clear for me what is ongoing and what is finished.
Happy to adjust as needed!