turn off let floating

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


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 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