Re: Announcing: example projects in Guile with Autotools

Tomas Volf <[email protected]> Mon, 06 Oct 2025 01:12:21 +0200
Newsgroups gmane.lisp.guile.user
Message-ID <[email protected]>
Maxim Cournoyer <[email protected]> writes:

>>> What is the mtime issue with .scm.go? I don't think I've encountered a
>>> problem with it. Anyway, this all sounds very useful to document and/or
>>> fix, so I'd encourage you to work on it.
>>
>> Briefly, imagine that the user installs /usr/bin/foo which is a Guile
>> script, with corresponding .go file which is in the ccache. When
>> executed for the first time, unless the installation preserved the
>> mtime of the ccache object to be larger than of the script, it will be
>> recompiled.
>
> Are you sure about this? If the mtimes are equal, wouldn't that be good
> enough? Because that's the situation in Guix, and it seems to work fine
> (the source are not recompiled upon execution):

Yes, equal is fine, but the problem here is that them being equal is in
no way guaranteed to happen.  On Guix, it is given, since everything is
at the epoch, but elsewhere your need to do the extra work to ensure the
ordering.

Tomas

-- 
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.
signature.asc (application/pgp-signature, 853 B)
-----BEGIN PGP SIGNATURE-----

iQJCBAEBCgAsFiEEt4NJs4wUfTYpiGikL7/ufbZ/wakFAmji+1UOHH5Ad29sZnNk
ZW4uY3oACgkQL7/ufbZ/wakBew/9GB+0YZ9LVbiqw5UWl3gbtZ9U1WKoNfqMOawD
yOkCRUow9ViFxtDFJG/maKH58Aa7oD1ZrHgaMf67BdsF8ns2BiaBUNRd6jyGvwHP
YPMoIlTEj5KwNajeSuNAONCSblFFUlI9tshwvgUYUa7w/vSV/zCalvEt6+9iTyn9
zUkKBYwpiZJ0BpHTspWQOVA6+7BoiWh41sHaa5r3PGP1m9EtV0Tbk/F0ETZhNKCT
HxEwkJC7qQUi0wVYN1GAsvDM4WVh1wQ6duhqdpExFSQ0AllKBopISMCL2fDSnxkg
qRLzSpTVJ8IJ2at1c+XswIFEuuZKQLzHHPJ+7DjkxCw5bhAw8Q5Beo8oZFR4uffH
ni26/ronXy8BRrzaN9dh99I9wNWSknBylBGD6jCF48r1YefPQ5vpEAxmYS99DotE
HdixrA/0tt7Ld8nIuPGAxOyHLCf1H+RBDWT1u9iIKIruYN7xqwLQAfLPjybjv0cb
MFXqSnKxGxCVAb6BOvHTUm2WyuNK39K40wANjCIcCKfKhANy+YvGN0JYHRMqhFn6
1HrHG9Tlc5YBmorJBzMmxhWbio6AB22kls+aW+DsaJNqmkbwieGRxvdYukos061O
t0vy5l7D7DIDWo8i/BRkkY1JmWb8naO3KCLcOza1eQc/ntYutrIh9Wd8+HLXW/LG
Vts8oKo=
=q/xl
-----END PGP SIGNATURE-----