On Mon, Mar 04, 2013 at 09:54 -0500, Chas Emerick wrote:
> AFAICT, the vast majority of Leiningen users (same goes for Maven users as
> well) expect the dependency vector [org.clojure/clojure "1.2.0"] to establish 
> a
> lower bound, the equivalent of "[1.2.0,)".  Further, people expect the maximum
> of all overlapping requirements to be taken (so transitive dependencies
> requiring e.g. "1.2.0", "1.3.0", and "1.4.0" would resolve to "1.4.0"), and 
> for
> the dependencies specified in the root of the tree (i.e. the current
> project.clj) to override everything else, so specifying "1.3.1" in the current
> project would be the equivalent of "[1.3.1]" (this is equivalent to having
> implicit dependencyManagement in Maven, for those that know/care what that
> means).

[…]

> I agree that some indication of which libraries have been tested with which
> dependencies would be *great*.  But that's part of a wide class of 
> verification
> objectives I think that must be totally separate use cases from the
> (relatively) simple dependency resolution one that version numbers aim to
> support.

Thanks for this mail! I think it is very helpful in the debate. The notion of
"soft dependencies" seems to be quite ridiculous (as you could just have an
unversioned one), but the real problem seem to be that there is no way to
express the notion of:

    I (should) work with all stable releases in the 1.4.* branch of libfoo

among many other reasonable schemes.
-- 
Wolodja <babi...@gmail.com>

4096R/CAF14EFC
081C B7CD FF04 2BA9 94EA  36B2 8B7F 7D30 CAF1 4EFC

Attachment: signature.asc
Description: Digital signature

Reply via email to