Discussion: splitting `Cabal` and `Cabal-syntax` into public and private APIs
Open
re: API
type: discussion
- Dominant language
- Haskell
- Stars
- 1.7k
- Forks
- 750
- Avg merge
- 4d 3h
- Merged PRs (30d)
- 28
Description
#10259 revealed that `Cabal` and to a lesser extent `Cabal-syntax` have very large APIs which are currently completely "public". It would be good to determine which APIs are actually public and move the rest into private libraries. There is some discussion in that issue, but sorting out the API is necessarily going to be a long term effort.
* example 1: compat modules (e.g., shall we encourage tool writers to use base-compat from Hackage instead of our ancient hacks?)
* example 2: cabal-solver API (here the problem was, it seems, enshrining that this is internal, so it suddenly became external; also there seems to be an active user)
Contributor guide
Assessment
This issue has not been assessed yet.