On Fri 08 Oct, Lars Lundgren wrote:
> A value (IO a) *denotes* a program possibly interacting with the world.
> *That* program is of course not referentially transparent. A haskell
> program generating an (IO a) on the other hand *is* referetially
> transparent.
So a value of type (IO a) is _not_ a function, if I understand you
correctly.
I think this is really the correct interpretation, but I'm not sure
if there's any real enthusiasm for this view in the FP community at
large. (When I suggested a similar approach on another list it didn't
seem to go down to well.)
Also, the fact that the machine which executes values of type (IO a)
is not regarded as part of Haskell is also not widely understood
I think. (Well, at least I had not understood this before.)
Regards
--
Adrian Hey