Le 29/12/2011 18:01, Iustin Pop a écrit :
I'm confused as what you mean.
And to clarify better my original email: yes, (bar x) always gives you
back the same IO action; but the results of said IO action are/can be
different when executed.
The whole of my point is that it DOESN'T MATTER. (And I believe that Heinrich A. meant the same thing).
I asked for the execution trace in order that you see what your function does to the programme itself, not that it attempts to contact the external world, and explode it. You discovered it yourself. The result is an object of type
Read a => IO a
and this is all. (Well, in order to really execute it, you have to specify the type a anyway).


I think that nobody will convince anybody here. Steve Horne continues with his own visions :

> if you're using IO actions, your code is not referentially transparent and is therefore impure

I believe that this statement is doubly erroneous, but I give up. I won't even ask to show me WHERE the ref. transparence is broken. This discussion is a dead loop...

Jerzy