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 Haskell-prime@haskell.org http://www.haskell.org/mailman/listinfo/haskell-prime