package-inferred-system and :around-compile

Faré fahree at gmail.com
Sat Dec 5 05:32:07 UTC 2015


On Tue, Dec 1, 2015 at 1:06 PM, Eric Timmons <etimmons at mit.edu> wrote:
> Faré <fahree at gmail.com> writes:
>
>> Yes, package-inferred-system's could inherit :around-compile from
>> their primary system, and maybe other things, too.
>>
>> Can you send a patch?
>
> Patch is attached.
>
Applied in 3.1.6.7.

> One deficiency is that if the parent's around-compile
> changes and the system is reloaded, the parent will recompile as
> expected but the inferred systems won't. The inferred systems see the
> change but they're not seen as being out of date. Not sure if that's
> worth worrying about/how to go about changing that.
>
Yeah, getting proper incrementality from defsystem-depends-on and suches
is a TODO item for a future major ASDF release. Doing it right requires
introducing new kinds of nodes in the dependency graph for loading asd files,
and rethinking how we track defsystem-depends-on dependencies as well as
direct load-system statements in .asd files.

If you're willing to do it, I'll be glad to provide guidance and code review.

I'd also like to kill the current parse-defsystem code inherited from
ASDF 1 to replace it by something that relies less on side-effects,
but I'm not sure how to do it in a way that doesn't break backward
compatibility with some hidden assumption that I don't know about. A
quick mucking around with the code revealed too many strings to pull —
though most of them related to the above defsystem-depends-on issue.

> I can definitely add inheritance of other things, but I'm not sure what
> makes the most sense. Maybe:
>
> + :homepage
> + :bug-tracker
> + :mailto
> + :source-control
> + :version
>
I'm not sure these make sense for a system that isn't the primary
system. Maybe version is useful, so you can have version constraints
on a secondary system without having to depend on the primary system,
when the secondary system doesn't depend on the primary.

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
Long live consumership, which is individual and responsible choice!
Down with citizenship, which is collective and irresponsible choice!



More information about the asdf-devel mailing list