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

Reply via email to