Hi, you can turn off let-floating by compiling without optimizations, i.e. without using a -O flag or using -O0 explicitly. The disadvantage is that most of all other optimizations are turned off too. Another possibility would be to compile your program with HasFuse http://www.ki.informatik.uni-frankfurt.de/~sabel/hasfuse/ which is a modification of GHC, that performs only such transformations that are compatible with the use of unsafePerformIO. (no common subexpression elimination, no let-floating out, more restrictive inlining) In fact, HasFuse guarantees more than compiling SAFE uses of unsafePerformIO correctly (it fulfills the FUNDIO-semantics), but HasFuse can also be used to compile 'normal' Haskell programs. David ------ JWGU Frankfurt, Germany
----- Original Message ----- From: "Bernard James POPE" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Cc: "Bernard James POPE" <[EMAIL PROTECTED]> Sent: Tuesday, April 06, 2004 10:24 AM Subject: turn off let floating > Hi all, > > In the documentation for System.IO.Unsafe > it says: > > Make sure that the either you switch off let-floating, > or that the call to unsafePerformIO cannot float outside a lambda. > > My question is how can you turn off let floating? I can't seem to > find a flag that suggests this behaviour. > > Cheers, > Bernie. > _______________________________________________ > Glasgow-haskell-users mailing list > [EMAIL PROTECTED] > http://www.haskell.org/mailman/listinfo/glasgow-haskell-users _______________________________________________ Glasgow-haskell-users mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/glasgow-haskell-users