| ▲ | ryangibb 2 hours ago | |
> Dependency managers tend to just block a huge category of situations that effectively eliminate the entire NP hard space Can you elaborate on this? Many _try_ to get around this, e.g. Cargo's https://doc.rust-lang.org/cargo/reference/resolver.html#semv..., but it's not quite in P. Nix offloads dependency resolution to *2nix tools. Go's minimum version selection is just a tree walk, but it loses a fair amount of expressivity. | ||
| ▲ | inigyou an hour ago | parent [-] | |
Presumably the ones where you are expected to have the latest version of everything and make a new package if you break that (python2 → python3) Not sure why more ecosystems don't do this. Sure an update could break dependents, but, like, you already have a big problem if a dependent was keeping you on an old version no matter what. Building a SAT solver into the package manager seems to be a solution in search of a problem. | ||