turn off let floating

David Sabel dsabel at stud.uni-frankfurt.de
Fri Apr 9 16:27:01 EDT 2004

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 
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.
JWGU Frankfurt, Germany

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

More information about the Glasgow-haskell-users mailing list