
Try >> instead of `seq`. Alberto G. Corona wrote:
Hi
I need to execute a procedure not in the IO monad, but in an any monad:
I defined:
forkM :: Monad m=> m a -> IO ThreadId forkM proc=forkIO $ proc `seq` return()
I assumed that seq will force the evaluation of proc and after, it will discard his type (m a) and return () in the IO monad.as forkIO expect.
however proc is not executed
Prelude> Control.Concurrent.forkIO $ print "hola" ThreadId 331 "hola" Prelude> Prelude> let forkM p=Control.Concurrent.forkIO $ p `seq` return () Prelude> forkM $ print "hola" ThreadId 493 Prelude>
Any idea?. Thanks in advance _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe