On Tue, 19 Dec 2006 21:34:06 +0100, you wrote: >Lazy semantics -> equational reasoning ? >I thought that : lack of mutable state -> equational reasoning. >For instance, I think to data flow variable in Oz (whcih I really >don't know much / never used) : if a (Oz managed) thread attemps to >read the value of an unbound (data flow) variable, it waits until >another thread binds it. But the equational reasoning (referential >transparency) remains (and the evaluation is eager by default).
How about this: Lazy semantics encourages one to write code in a way that eases equational reasoning? The classic example of this is a problem that has a finite solution, but whose solution is most clearly expressed in terms of operations on infinite structures. Steve Schafer Fenestra Technologies Corp. http://www.fenestra.com/ _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe