[Haskell-cafe] Monad explanation

David Leimbach leimy2k at gmail.com
Thu Feb 5 15:21:31 EST 2009


On Thu, Feb 5, 2009 at 11:25 AM, Andrew Wagner <wagner.andrew at gmail.com>wrote:

> I think the point of the Monad is that it works as a container of stuff,
>>> that still allows mathematically pure things to happen, while possibly
>>> having some opaque "other stuff" going on.
>>>
>>
>  This at least sounds, very wrong, even if it's not. Monads are not impure.
> IO is, but it's only _one_ instance of Monad. All others, as far as I know,
> are pure. It's just that the bind operation allows you to hide the stuff you
> don't want to have to worry about, that should happen every time you compose
> two monadic actions.
>


Well all I can tell you is that I can have (IO Int) in a function as a
return, and the function is not idempotent in terms of the "stuff" inside IO
being the same.

Sounds impure to me.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20090205/7cc157f3/attachment.htm


More information about the Haskell-Cafe mailing list