On Friday, January 31, 2014, Vladimir Lushnikov <[email protected]<javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote:
> There are some very interesting questions being raised here. > You quoted my question (perhaps unintentionally) but didn't answer it... What algorithm do you use to resolve dependencies in a multi-versioned world? For a world where you're searching (a DAG) for a set of mutually compatible versions, toposort is an answer. But what about in a situation where, based on a given set of constraints, you may or may not want to use multiple versions of the same dependency? Unless there's an answer to this question, I think the rustpkg versioning model is a total nonstarter. I will also note that all major dependency resolvers (e.g. maven, bundler, apt-get, yum) calculate solutions which consist of one particular version for each package. The "version compatibility is hard, let's go shopping!" school of thought sounds nice in theory, but with nearly a decade of battle scars from working with a system like that (RubyGems), my experience tells me it's a terrible, terrible idea in practice... -- Tony Arcieri
_______________________________________________ Rust-dev mailing list [email protected] https://mail.mozilla.org/listinfo/rust-dev
