> I don't know > where the non-determinism comes from, but if they just use a random > generator, it would be enough to seed it e.g. from the hash of $out > instead of the standard sources.
As I understand, GHC has many uses of unsafeInterleaveIO in its implementation, so the order of effects such as the generation of fresh names will depend on how the IO manager schedules evaluation of those thunks, which could depend on eg time for receiving a filesystem response, which may depend on installed hardware (eg amount of RAM for filesystem buffer) and state of the machine (eg how many other processes are using IO at the moment). So the nondeterminism arises not via a controlled mechanism like a random generator but from races influenced by the configuration and state of the wider machine. _______________________________________________ nix-dev mailing list [email protected] http://lists.science.uu.nl/mailman/listinfo/nix-dev
