
18 Feb
2007
18 Feb
'07
10:59 a.m.
Hello Marc, 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 -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com