[Haskell-cafe] Why do I have to specify (Monad m) here again?
bulat.ziganshin at gmail.com
Sun Feb 18 10:59:32 EST 2007
Sunday, February 18, 2007, 7:32:54 PM, you wrote:
> When using your example (Monad IO):
> class (Monad m) => MonadIO m where
> liftIO :: IO a -> m a
> it it basically the same, isn't it? This declaration forces m to be monad..
> which would't hurt if GHC would infer m beeing a monad automatically?
it is more explicit. for example, this simplifies understanding of
error messages generated by compiler. and, if you change 'class'
declaration, this will not silently change meaning of 'instance' declaration
Bulat mailto:Bulat.Ziganshin at gmail.com
More information about the Haskell-Cafe