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