Oops, forgot to reply-all again... ---------- Forwarded message ---------- From: Chris Smith <cdsm...@gmail.com> Date: Fri, May 4, 2012 at 8:46 AM Subject: Re: [Haskell-cafe] Problem with forall type in type declaration To: Magicloud Magiclouds <magicloud.magiclo...@gmail.com>
On Fri, May 4, 2012 at 2:34 AM, Magicloud Magiclouds <magicloud.magiclo...@gmail.com> wrote: > Sorry, it was just a persudo code. This might be more clear: > > run :: (Monad m) => m IO a -> IO a Unfortunately, that's not more clear. For the constraint (Monad m) to hold, m must have the kind (* -> *), so then (m IO a) is meaningless. I assume you meant one of the following: run :: MonadTrans m => m IO a -> IO a or run :: MonadIO m => m a -> IO a (Note that MonadIO is the class from the mtl package; there is no space there). Can you clarify which was meant? Or perhaps you meant something else entirely? -- Chris Smith _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe