On Sat, 2014-03-29 at 19:59 +0100, Pascal Costanza wrote: [...]
That's not how it works, unless you include a bit for *rdff* in the name of the fasl cache directory — and since the planning is done based on pathnames before the compilation happens, that should still be *rdff* at the beginning of compilation. Otherwise, the build is not deterministic, and two different toplevel programs will poison each other's builds.
…not even if you :force t?
If you make :force t the default, you lose incrementality, and fast startup time for end-user scripts. If you say "things are unsafe by default", you lose modularity and you make it impossible to distribute scripts to end users. Either way, if you don't have a deterministic build *by default*, easy deployment of scripts to end-users is not possible anymore.
I understand your desire for deterministic builds. I don’t understand your desire for deterministic builds being the default.
Utterances like this is what makes "academic" an insult in certain circles.