haskell / haskell/cabal

Try rerunning the solver with --reorder-goals when it reaches the backjump limit.

Open
#4,776 1 comment 0 reactions 0 assignees View on GitHub
cabal-install: solver type: enhancement
Dominant language
Haskell
Stars
1.7k
Forks
750
Avg merge
4d 3h
Merged PRs (30d)
28

Description

This idea is from https://github.com/haskell/cabal/issues/1780#issuecomment-41036239. It is a way to find solutions to more dependency problems in a reasonable amount of time without enabling `--reorder-goals` by default. `--reorder-goals` sometimes finds solutions to complex dependency problems more quickly, though it usually slows down simple cases.

cabal could first run the solver without `--reorder-goals`, but with a backjump limit. If the first run reached the backjump limit, it could run the solver again, with `--reorder-goals` and a similar backjump limit. This strategy could avoid slowing down the solver in easy cases where the first run finds a solution.

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.