Impact on modifying the current planning code (was Re: Plans for ASDF 3.3)

Stelian Ionescu sionescu at cddr.org
Thu May 4 16:41:57 UTC 2017


> 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.



More information about the asdf-devel mailing list