On Thu, 2009-02-05 at 13:01 -0800, David Leimbach wrote:
>
>
> On Thu, Feb 5, 2009 at 12:27 PM, Jonathan Cast
> <
jonathanccast@fastmail.fm> wrote:
>
> On Thu, 2009-02-05 at 12:21 -0800, David Leimbach wrote:
> >
> >
> > On Thu, Feb 5, 2009 at 11:25 AM, Andrew Wagner
> > <
wagner.andrew@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.
>
>
> Sure it's the same.
>
> > cmp /bin/cat /bin/cat
> > cp /bin/cat ~
> > cmp /bin/cat ~/cat
> >
>
> Pretty much the same, anyway.