2009/08/14 John A. De Goes <j...@n-brain.net>: > Hmmm, my point (perhaps I wasn't clear), is that different > effects have different commutability properties. In the case > of a file system, you can commute two sequential reads from > two different files.
I think this is a bad example -- it's not something that's safe in general and discredits your idea. How would the compiler even know that two files are not actually the same file? However, the idea that a programmer can specify safely commuting effects is worthwhile. One could operate in a "different files are different" IO monad where the compiler assumes that reads on files with different names are commutable. > This has no effect on the result of the computation, assuming > no interference from other programs -- and if there _is_ > interference from other programs, then guarantees go out the > window, _with or without_ commuting. Well, yes -- which sounds like, there are no guarantees in general. Something that works half the time leaves you with two responsibilities -- the old responsibility of the work you did when you didn't have it and the new responsibility of knowing when it applies and when it doesn't. -- Jason Dusek _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe