> On 5/4/17 May 4 -11:01 AM, Alan Ruttenberg wrote: > > Here is what I see a problem is: ASDF only resolves dependencies on a > > system by system basis. The cross-system link is that if system B > > depends on system A we can avoid loading A if it has already been > > loaded. If an identical source file happens to be in both B and A that > > isn't recognized, but also doesn't have consequence - the functions in > > it are redefined. > > That's correct. If you want to build a composite system with A and B, > you should create a system C that depends on both. > > Note that this problem you cite for Maven really exists for ASDF anyway. > If you have two lisp systems that collide with each other (e.g., > package collision), then you lose with ASDF. > > So I think what you have to do here is track the Maven dependencies, > detect incompatible versions of a single library, and throw an error for > the programmer to fix if it happens. > > Note that this reminds me that ASDF currently (for Lisp) doesn't support > a maximum version number, only a minimum. I keep meaning to fix that, > but never get around to it.
I believe this would be doubling down on the error of specifying versions in ASDF. > And yes, it does happen, I have had systems > that relied on, e.g., older versions of XMLS. For now we handled that > by pinning revisions in the RCS, but that can be problematic if you get > the ASDF config wrong. Getting it wrong in what sense ? -- Stelian Ionescu a.k.a. fe[nl]ix Quidquid latine dictum sit, altum videtur.