Usefulness of releasing `cabal-install` the library
- Dominant language
- Haskell
- Stars
- 1.7k
- Forks
- 750
- Avg merge
- 4d 3h
- Merged PRs (30d)
- 28
Description
Summary: `cabal-install` API is big, unused, is holding us back. Should we axe/trim it?
---
During the release of `3.18.2.0`, a number of PRs (e.g. #12289) were not backported because they break `cabal-install` API.
While we should be extra careful with `Cabal` and `Cabal-syntax`, how much damage does breaking `cabal-install` API causes?
Reverse dependencies for `cabal-install` are: `cabal-add`, `cabal-hoogle`, `cabal-matrix`, `guardian`, `hackage-revdeps`, `hix`, and the memetic `acme-everything`.
`cabal-install` API is quite wide, with ≃140 exported modules. Do we need them all? Can we axe most of it?
Contributor guide
Research direction
Start by reviewing the exported modules of the cabal-install library and the listed reverse dependencies: cabal-add, cabal-hoogle, cabal-matrix, guardian, hackage-revdeps, hix, and acme-everything. Determine which API is actually used and whether trimming it is feasible; done would require an agreed scope for removing or retaining modules, but the issue does not name specific files or tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- haskell
- Domain
- build-system, cli, developer-experience
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100