
On Thu, 2008-02-14 at 13:11 +0200, Yitzchak Gale wrote:
Duncan Coutts wrote:
The additions are documented and portable to non-ghc.
This sounds like a worthy addition to the library.
The documentation for unsafeInlinePerformIO is a description of how it behaves in GHC. Can you describe the semantics in a compiler-independent way?
Actually that's pretty difficult. So in addition to the dangers of unsafeDupablePerformIO (that the action may be run more than once and may be executed in parallel) we have the possibility that the action is not necessarily run as a whole and in-order. We loose the guarantee on >>= providing ordering of effects and not all effects are necessarily run. Only those depending on the inputs will necessarily run. How's that? I'm not absolutely sure that's correct. Perhaps Don and Simon M can think about it for a moment. Duncan