2 ms·
> For example, comparing two URLs in Java is not deterministic. Well, it does network access, so it would excluded. > For another example, iterating through a
by CyberShadow 5y ago
> For example, comparing two URLs in Java is not deterministic.
Well, it does network access, so it would excluded.
> For another example, iterating through a set in Python will give you the elements in a different order on 32- versus 64-bit systems.
This is a good counter-point.
> Brainfuck does not standardize overflow behaviour and so the same program may behave differently on different systems.
Different implementations of Nix might have the same issue in some places. In this case, whether the language is fully defined is orthogonal to whether its behavior is deterministic; here, a particular implementation will continue to be as such.
As far as I know, Nix doesn't have a formal specification; it is defined by its reference implementation.