[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Partial automation of egg dependencies
From: |
elf |
Subject: |
Re: Partial automation of egg dependencies |
Date: |
Sun, 20 Nov 2022 22:40:51 +0200 |
User-agent: |
K-9 Mail for Android |
It's ambiguous. There can be (and are) eggs that export procedures of the same
name.
Dependencies shouldn't get out of sync, and updated versions may change what is
exported... so I would question exactly what you are doing that would require
such functionality and whether there would be a better development methodology
that wouldn't shift the burden from paying attention to what one is using to a
psychic programme that does what you mean (not what you tell it).
-elf
On 20 November 2022 20:55:09 GMT+02:00, 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.
>