Skip to content
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

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open

Conversation

telser
Copy link

@telser telser commented Jan 8, 2025

Happy to adjust as needed!


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.
Copy link
Member

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.

Copy link
Author

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.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.
Copy link
Member

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. :)

@telser
Copy link
Author

telser commented Jan 9, 2025

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`.
Copy link

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.
Copy link

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.
Copy link

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!
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants