haskell / haskell/cabal

Sometimes-false dependencies

Open
#8,349 4 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.