chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Partial automation of egg dependencies


From: Mario Domenech Goulart
Subject: Re: Partial automation of egg dependencies
Date: Mon, 21 Nov 2022 17:58:27 +0100

Hi Lassi,

On Sun, 20 Nov 2022 20:55:09 +0200 Lassi Kortela <lassi@lassi.io> wrote:

> I have a .egg file for a portable Scheme program substantial enough
> and fast-moving enough that the dependencies are constantly getting
> out of sync.
>
> Would it be possible to add a feature something like this?
>
> (extension foo.bar
>   (source "bar.sld")
>   (auto-dependencies)  ; <-- The new feature.
>   (csc-options "-R" "r7rs" "-X" "r7rs"))
>
> auto-dependencies would compute the deps by traversing the given
> source file. It would look at csc-options and notice that r7rs is
> being used. Then expect an R7RS-style define-library form in bar.sld,
> look at (import ...) libraries matching those in the .egg and add
> those to component-dependencies, as well as traverse all (include
> "...") and add those to (source-dependencies ...).
>
> If csc-options doesn't say r7rs, it would do the same, but expect
> Chicken module syntax instead.
>
> I wrote some code to grovel r7rs libraries, and there's probably
> similar stuff in csm and Akku.scm too. So if the feature is ok we
> could stitch together the implementation from these.

My take on that as a user: I care about dependencies and tend to avoid
eggs with many dependencies.  If I see `(auto-dependencies)' in an egg
file, I don't know the dependencies of that egg.  I would not like that.

Also, that would break the [reverse] dependency ranks of salmonella
reports. Examples:

* 
http://salmonella-linux-x86-64.call-cc.org/master/gcc/linux/x86-64/2022/11/21/salmonella-report/ranks/deps.html
* 
http://salmonella-linux-x86-64.call-cc.org/master/gcc/linux/x86-64/2022/11/21/salmonella-report/ranks/rev-deps.html

All the best.
Mario
-- 
http://parenteses.org/mario



reply via email to

[Prev in Thread] Current Thread [Next in Thread]