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

Reply via email to