On Thursday 21 June 2007, Tom Schrijvers wrote:
That wouldn't make a difference. If, from the pure Haskell point of view
we can't tell the difference between two expressions that denote the same
function, then operations in the IO monad should not be able to do so
either.

This doesn't make any sense to me.  IO is a non-determinism monad (among many
other things).  That's already true --- randomIO is one example;
Control.Exception.evaluate is another (and is already dependent on the
particular compilation choices made).  I think of Haskell `values' as sets of
legal representations anyway --- why shouldn't serialize be free to make a
non-deterministic choice from among those sets, just like evaluate can make a
non-deterministic choice from the set of exceptions an expression can throw?

Good point. I agree, if the specification is non-deterministic, this should be alright.

Tom

--
Tom Schrijvers

Department of Computer Science
K.U. Leuven
Celestijnenlaan 200A
B-3001 Heverlee
Belgium

tel: +32 16 327544
e-mail: [EMAIL PROTECTED]
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to