3 ms·
> > Whatever that variable resolves to The "fifth" or perhaps "zeroth" assumption is that the versions of all the dependencies must be resolved by a single sys
by DougBTX 10y ago
> > Whatever that variable resolves to
The "fifth" or perhaps "zeroth" assumption is that the versions of all the dependencies must be resolved by a single system. If the developer does half the work by e.g., defining explicitly what flask is, then the remaining part of the system won't have to be NP complete any more.
I think that's what the parent post means by "won't automatically pick up later versions of a dependency". Since it isn't doing full dependency resolution, it doesn't need to solve the whole problem, but also doesn't give all the benefits.
- smallnamespace 10y agoEven though the developer does half the work, the system of 'Nix-using developer + Nix' is still constrained by NP-completeness, so in practice the two combined will not be able to solve the 'dependency resolution problem' in its full generality without a potentially exponential search. So the real question is, which assumption does the package of 'Nix-using developer + Nix' give up?
- cwp 10y agoIt violates assumption #4. With nix, you can have multiple versions of a package installed.