On 14 December 2005 09:57, Tomasz Zielonka wrote: > On Wed, Dec 14, 2005 at 09:51:16AM -0000, Simon Marlow wrote: >>> Here is an example how you can initialize a top-level STM variable. >>> http://www.uncurry.com/repos/TimeVar/TimeVar.hs >>> It just forks a new thread inside unsafePerformIO, it runs >>> "atomically" in it and passes the result through ordinary MVar. >> >> A cheaper way is just to seq the top-level TVar at the beginning of >> Main.main. > > Yes, I tried that approach. However, imagine telling users of > your library to do that in every program (withSocketsDo comes > to mind).
Well sure, but it's only a temporary problem. And you also have to tell them to use {-# NOINLINE #-} and -fno-cse :-) Cheers, Simon _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe