Meeting URL: https://meet.jit.si/StableHaskellMeetBiWeekly
Previous meeting notes
- GHC.X.Hackage update
- Update on GHC tick-tock releases
- Update on Language/compiler features to help stability
- Update on API breakage policy
- Type variable binders in datatypes and Discourse discussion
- Proposed
Data.List
monomorphisation
-
GHC.X.Hackage update
- Ben: Met with Andrea Bedini, the maintainer of
foliage
to guide technical direction. "Foliage is a tool to create custom or private Haskell package repositories, in a fully reproducible way." - Looks to be a good foundation for the proposed extensions to head.hackage
- Currently still struggling to find time to engage in discussion
- Parked until GHC 9.4 is branched
- Holding the token: Ben
- Ben: Met with Andrea Bedini, the maintainer of
-
Update on GHC tick-tock releases
- Similarly, struggling to find time to push forward discussion
- Parked until GHC 9.4 is branched
- Holding the token: Ben
-
Update on Language/compiler features to help stability
-
Main idea: collect ideas for language suppport that would help to mitigate the cost of change, and
- refine,
- categorise,
- prioritise
-
Then present them to the Haskell community, inviting
- feedback
- further ideas
- actual cycles to help develop them
-
Then turn (some of) them into proper GHC proposals
-
For now, Trevis is holding the token.
-
-
Update on API breakage policy
- TE published Opaleye's API breakage policy
- TE submitted to Reddit, Discourse and asked for example of other policies but not much came back.
- Main payload for now: opt-in advice for library authors.
- 3 release policy was also mentioned here
-
Type variable binders in datatypes and Discourse
- Discussion was great, we want more
- The more it happens we hope the involvement will increase
- Discussion was great, we want more
-
Proposed
Data.List
monomorphisation- Want to make sure those who would dislike it are being heard
- Making fewer changes (more conservatism)
- Just don't changes things at all
- Making changes that break less:
- Introducing language and compiler changes to make compatibility easier to achieve in the face of interface changes
- Breaking with more support:
- Automated migration and refactoring tools
2to3
(Python)scalafix
https://scalacenter.github.io/scalafix/cargo fix
https://doc.rust-lang.org/cargo/commands/cargo-fix.html- rerast
- Jetbrains does this in editor for some languages eg https://www.jetbrains.com/help/ruby/refactoring-source-code.html#ecca098
- Automated migration and refactoring tools