Fergus Henderson <[EMAIL PROTECTED]> writes:
> but nevertheless, Haskell or any other language which aims to be
> referentially transparent, for any given program execution the sum
> should be the same each time in that program execution.
While that's theortically nice, I'm not sure that statement is
important in practice. `referentially transparent' does not
necessarily imply `referentially transparent between two different
compilations'. However, for scientific/simulation computing this can
be extremely important as small differences can, through iteration
lead to totally different outcomes. This means your experiments are
not repeatable. Additionally, when using mpi etc to solve parts of a
problem on different computers similar floating point behavior can be
very important. As a simple example of this, try rendering a
complex-tecture pov-ray picture distributed to a 56 bit IEEE machine
and a 64 bit one. The when the picture elements are stitched back
together the seems are clearly visible.
Cheers,
Julian.