On 29 Mar 2014, at 20:07, Stelian Ionescu sionescu@cddr.org wrote:
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.
You’re quoting me out of context. If deterministic by default had no cost associated with it, it would clearly be the desirable choice. But it has a cost associated with it, so this is less clear. If I failed to convince you that this is the case, and that other people may have other preferences, then I apologize.
Pascal
-- Pascal Costanza The views expressed in this email are my own, and not those of my employer.