[Haskell-cafe] Identity of indiscernibles

Jake McArthur jake.mcarthur at gmail.com
Fri Aug 9 01:02:13 CEST 2013


Ah! It seems that my wording was ambiguous. All I was trying to say is that
there is nothing you can do with an IO action which will cause an otherwise
pure expression to exhibit side effects during evaluation, *not* that an IO
action is observable in pure code or that they are arbitrarily manipulable.
On Aug 8, 2013 9:39 AM, "Jerzy Karczmarczuk" <jerzy.karczmarczuk at unicaen.fr>
wrote:

>  I am sorry for having mixed-up arguments (but who throws the first
> stone?...)
>
>  Jerzy seemed to suggest that the "impurity" of IO was somehow related to it
> not supporting very many operations.
>
>  No, not really. I added
>
>  First, it is not true  that you can do with, say, (printStr "Ho!" )
> whatever you want. In fact, you can do almost nothing with it. You can
> transport it "as such", and you can use it as the argument of (>>=).
>
>
> after the message of Jake McA.
>
> *You can do whatever you want with them* with no harmful effects in any
> Haskell expression.
>
>
> This was an additional layer of bikeshedding, not exactly about purity.
> Or, just a bit: the ONLY "real" operation on an action, i.e. (>>=)
> produces side-effects... Other don't, but --
>
> Again, here my point is that calling "pure" an entity which is  opaque and
> inert, is meaningless (or "redundant" if you wish...), this was all.
>
> Jerzy K.
>
> PS. Tom Ellis:
>
>  One could simply implement IO as a free monad
>
>  Interesting. I wonder how.
>
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20130808/a16c3665/attachment.htm>


More information about the Haskell-Cafe mailing list