Hi Lassi, On Sun, 20 Nov 2022 20:55:09 +0200 Lassi Kortela <la...@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