From: Andrew Burgess <andrew.burgess@embecosm.com>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: guile-user@gnu.org
Subject: Re: Seeking Advice on syntax/macros in separate files
Date: Tue, 2 Mar 2021 09:47:43 +0000 [thread overview]
Message-ID: <20210302094743.GA3172720@embecosm.com> (raw)
In-Reply-To: <87tupuneuy.fsf@gnu.org>
* Ludovic Courtès <ludo@gnu.org> [2021-03-02 09:23:33 +0100]:
> Hi Andrew,
>
> Andrew Burgess <andrew.burgess@embecosm.com> skribis:
>
> > My concerns are based on this page of the guile manual:
> >
> > https://www.gnu.org/software/guile/manual/html_node/Compilation.html#Compilation
> >
> > specifically this:
> >
> > "... Guile does not yet do proper dependency tracking, so that if
> > file a.scm uses macros from b.scm, and b.scm changes, a.scm would
> > not be automatically recompiled."
>
> Yes. Concretely, that means you can either use Makefiles or similar
> (like with most other languages) or turn off auto-compilation (with
> ‘--no-auto-compile’ or with ‘GUILE_AUTO_COMPILE=0’).
>
> > So, my current thinking is to wrap the invocation of the guile script
> > in a shell script, which _always_ forces recompilation. But, if I'm
> > doing that, I may as well just disable compilation completely. But
> > this doesn't seem right.
> >
> > So, I'm sure I must be missing something here. How do others deal
> > with this situation?
>
> Common practice is to have makefiles or similar as part of your
> software. When you run “make”, it runs ‘guild compile’ to compile all
> your Scheme source; upon “make install”, both .scm and .go files are
> installed.
>
> Here’s an example that does that using the GNU autotools:
>
> https://notabug.org/cwebber/guile-gcrypt
>
> For a pure Guile project, Guile Hall helps get started:
>
> https://gitlab.com/a-sassmannshausen/guile-hall
>
Many thanks. I knew I must be missing something. It never occurred
to me that I should be pre-compiling the project.
I'll investigate the two solutions you've proposed.
Thanks again,
Andrew
prev parent reply other threads:[~2021-03-02 9:47 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-01 18:03 Seeking Advice on syntax/macros in separate files Andrew Burgess
2021-03-02 8:23 ` Ludovic Courtès
2021-03-02 9:47 ` Andrew Burgess [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/guile/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210302094743.GA3172720@embecosm.com \
--to=andrew.burgess@embecosm.com \
--cc=guile-user@gnu.org \
--cc=ludo@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).