On Tue, 19 Aug 2003 10:52:57 +0100, "Simon Marlow" <[EMAIL PROTECTED]> wrote:
>> Isn't there the possibility of inlining causing a read to >> happen twice even if it only appears to happen once? > >In theory that would be a valid transformation, but in practice no >compiler would duplicate arbitrary computations. GHC certainly doesn't. I was thinking of a situation like let x = unsafePerformIO readFooFromDB in x+x I see from your "Secrets of the GHC inliner" paper that x wouldn't be inlined by GHC, but it seems to me like a serious abuse of the principle of referential transparency to write programs that _assume_ that. Cheers, Ganesh _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell