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" <bjpop@cs.mu.OZ.AU> To: <glasgow-haskell-users@haskell.org> Cc: "Bernard James POPE" <bjpop@cs.mu.OZ.AU> 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 Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users