On 16 Feb 2011, at 01:53, Scott Turner wrote:
In practice, Haskell a call-by-need language. Still, software
developers are not on firm ground when they run into trouble with
evaluation order, because the language definition leaves this open. Is
this an underspecification that should be fixed?
I might actually be inclined to go the other way in the language
spec. The Report says the language is "non-strict", but there is at
least one implementation in the wild which is basically strict (with
escape hatches for explicit laziness). Compatibility with Haskell in
all other aspects (apart from evaluation order) is a nice property.
2. Virtually all significant-sized Haskell programs rely on
lazy evaluation and have never been tested with another
evaluation strategy,
Having personally converted a reasonable number of modules/programs
from Haskell to this "strict" Haskell implementation, I can verify
that the change in evaluation strategy does indeed throw up several
surprises. None are insurmountable, but writing for a strict
evaluator does require a different way of thinking about some program
structuring.
Regards,
Malcolm
_______________________________________________
Haskell-prime mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-prime