[Haskell-cafe] Simple but interesting (for me) problem
minh thu
noteed at gmail.com
Wed Oct 21 14:30:53 EDT 2009
2009/10/21 Tim Wawrzynczak <inforichland at gmail.com>
>
> Here's an example in the IO monad:
>
> import Data.IORef
> import System.IO.Unsafe
>
> counter = unsafePerformIO $ newIORef 0
>
> next = do
> modifyIORef counter (+1)
> readIORef counter
>
> Naturally, this uses unsafePerformIO, which as you know, is not kosher...
But you don't close around the Ref like in your schemy example.
mkNext = do
ref <- newIORef 0
return (do modifyIORef ref succ
readIORef ref)
mimic your other code better.
Cheers,
Thu
More information about the Haskell-Cafe
mailing list