Sometimes-false dependencies
Open
type: discussion
type: enhancement
- Dominant language
- Haskell
- Stars
- 1.7k
- Forks
- 750
- Avg merge
- 4d 3h
- Merged PRs (30d)
- 28
Description
Packages that define orphan instances don't always need all their dependencies to be built. For example, suppose package `compat` depends on package `plain` and just defines instances that appear in new versions of `plain`. It may be that all the uses of `plain` (module imports and plugins) in `compat` are guarded by `#if !MIN_VERSION_plain(2,12,3)`. In this case, it *should* be possible to build `compat` without actually building `plain` and its transitive dependencies, although it's necessary to solve for them. We don't, as far as I know, have a way to express that in Cabal. Could such functionality be added?
Contributor guide
Assessment
This issue has not been assessed yet.