On 08-Oct-1999, Adrian Hey <[EMAIL PROTECTED]> wrote:
> I think it's important
> to understand whether or not we really do have referential transparency
> with monadic IO, if other models of interaction between program and
> outside world are (like those in Concurrent Haskell) going to be rejected
> because we 'lose referential transparency'.
The models of interaction between programs and the outside world
in Concurrent Haskell are not going to be rejected for that reason.
Some _other_ attempts to add concurrency to languages like Haskell
will be or have been rejected because the violated referential transparency,
and thus invalidated certain proofs or program transformations that one could
apply to programs. But AFAIK Concurrent Haskell does not invalidate any
of those proofs or program transformations which we can apply to Haskell.
I haven't studied Concurrent Haskell in any great detail, so I could
well be wrong about that. But the point is that invalidating existing
proofs or program transformations is (one of) the criteria we should
to decide whether to reject proposals for new features.
--
Fergus Henderson <[EMAIL PROTECTED]> | "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh> | of excellence is a lethal habit"
PGP: finger [EMAIL PROTECTED] | -- the last words of T. S. Garp.