haskellfoundation / haskellfoundation/stability

Stability / Migration tools

Open
#11 7 comments 0 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
29
Forks
3
PR merge metrics
No merged PRs in 30d

Description

Where should we keep a list of all the things that would be nice to have? Is this a good place?

None of these are easy to implement, but the research has at least (with the exception of the last) already been done.

## Dealing with many versions

- Deprecated reexports (individual items and entire modules) https://gitlab.haskell.org/ghc/ghc/-/issues/4879

- CPP checking multiple combinations https://www.youtube.com/watch?v=YupkE1vsZ4o, https://www.cs.cmu.edu/~ckaestne/pdf/FOSD10-typechef.pdf, https://web.engr.oregonstate.edu/~erwig/CC/index.html (Rust also interested https://github.com/rust-lang/rfcs/blob/master/text/1868-portability-lint.md)

- Enriched hi files preserving configuration conditionality info. Can align with CPP variable "model" to make sure downstream packages abide by upstream CPP, wherever it leaks into the interface.

- Extract backpack "signatures" from regular modules. Good to avoid relying on hi files too much.

- Compare two signatures / hi files, lint PVP violations. (`cabal-diff` on steroids.)

- Leverage all the above to check cabal metadata doing an "all combinations" type check.

- Leverage all of the above to CI plausible max bound increases when new versions are released, if CI passes notify maintainers/trustees.

- Less need for breakage in the first place
- https://gitlab.haskell.org/ghc/ghc/-/issues/19507 Permit bundling pattern synonyms with type synonyms

## Avoiding churn in the first place

- Private dependencies, to make version solving more forgiving https://github.com/haskell/cabal/issues/4035

- Better exporting https://gitlab.haskell.org/ghc/ghc/-/issues/19507 and other issues.

- Make Orphans OK so dependencies can be fewer (and thus downstream breakage less cascading) https://gitlab.haskell.org/ghc/ghc/-/wikis/Rehabilitating-Orphans-with-Order-theory

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.