John Meacham wrote:
data Dummy1 = Dummy1
intVar1 :: IORef Int
intVar1 = unsafePerformIO (newIORef 0 `dependingOn` Dummy1)
data Dummy2 = Dummy2
intVar2 :: IORef Int
intVar2 = unsafePerformIO (newIORef 0 `dependingOn` Dummy2)
normally, you would have to compile with -fno-cse to keep these two
John Meacham wrote:
I was wondering if we could be sure to get
dependingOn :: a - b - a
dependingOn =
in ghc 6.6? this has been discussed before, it is implemented in jhc and
I have found all sorts of use for it as it can be used to control let
floating and inlining in a nice general way
On Wed, Aug 09, 2006 at 08:40:06AM +0100, Simon Peyton-Jones wrote:
What's the implementation you have in mind? It's sure to get in the way of
some optimisations; e.g.
((\x.e) `dependingOn` y) arg
Maybe that doesn’t matter. I'm reluctant to build in optimisation rules for
I was wondering if we could be sure to get
dependingOn :: a - b - a
dependingOn =
in ghc 6.6? this has been discussed before, it is implemented in jhc and
I have found all sorts of use for it as it can be used to control let
floating and inlining in a nice general way and is trivial