[Haskell-cafe] IO vs MonadIO

Ivan Lazar Miljenovic ivan.miljenovic at gmail.com
Wed Sep 12 11:56:40 CEST 2012


On 12 September 2012 19:55, Ivan Lazar Miljenovic
<ivan.miljenovic at gmail.com> wrote:
> On 12 September 2012 18:24, Sergey Mironov <ierton at gmail.com> wrote:
>> Hi. Just a brief question. System.IO functions are defined in IO monad
>> and have signatures like Foo -> IO Bar.
>> Would it be better to have all of them defined as (MonadIO m) => Foo
>> -> m Bar? What are the problems that would arise?
>
> That would require MonadIO being defined in base, and might make some
> existing code fail due to lack of type signatures (though I suppose
> you could specify a default).

Oh, and you'd still need to define them all somewhere to work _for_ IO
so you can then have the liftIO variants anyway.

>
> --
> Ivan Lazar Miljenovic
> Ivan.Miljenovic at gmail.com
> http://IvanMiljenovic.wordpress.com



-- 
Ivan Lazar Miljenovic
Ivan.Miljenovic at gmail.com
http://IvanMiljenovic.wordpress.com



More information about the Haskell-Cafe mailing list