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

Ryan Newton rrnewton at gmail.com
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.

Thanks,
  -Ryan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20131111/d78515ba/attachment.html>


More information about the ghc-devs mailing list