Things stopping pure Haskell code from having a cross-platform single semantics?

Ryan Newton rrnewton at
Mon Nov 11 15:01:06 UTC 2013

Haskell isn't like Java byte code in having a single semantics for a
program irrespective of where it is run.  In particular, "Int" has a
platform-defined width -- so the same (pure) code can yield different
answers on different machines.

numCapabilities was also a "leak" of platform information, which did not
require IO. But, happily, now it does not appear in the [Trustworthy]
module, Control.Concurrent.

Ok, what else?  What other holes are there that allow my pure functions to
change their answer on different machines?  I'm making a list of these in a
paper and I want to make sure I give a full account.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the ghc-devs mailing list