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