[Haskell-beginners] Non-strictness semantics of Haskell

王兵兵 wbbtiger at gmail.com
Fri Sep 20 19:04:55 CEST 2013


Hi,

The Haskell language specification states that it is a non-strict language,
but nothing about the evaluation strategy (like when and how an expression
is evaluated, and to what level). It does mention the word "evaluate"
several times when talking about pattern matching.

I have read a wonderful tutorial (
http://en.wikibooks.org/wiki/Haskell/Laziness) about lazy evaluation and
weak head normal form, but it is just an implemenation strategy of some
compiler, which I should not depend on when writing codes.

I come from a strict language background and I just don't feel right if I
don't understand how my codes are execuated. I wonder why the language
specificition does not define the evaluation strategy.

I hope someone can enlighten me. Thanks!

-- 
spockwang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/beginners/attachments/20130921/8265c6ff/attachment.htm>


More information about the Beginners mailing list