[Haskell-cafe] WHNF versus HNF
rendel at cs.au.dk
Wed Apr 22 18:36:56 EDT 2009
Peter Verswyvelen wrote:
> The GHC documentation of seq says:
> Evaluates its first argument to head normal form, and then returns its
> second argument as the result.
I think this should be "weak head normal form". I don't think you have
any means to evaluate under a binder in Haskell.
The weak in weak head normal forms means that evaluation does not go
"under" lambda binders. The head in weak head normal form means that
evaluation does not take place in argument positions.
Note that most programming languages evaluate to weak normal forms,
because functions are only evaluated when they are called. So the head
part is much more important then the weak part when explaining Haskell
semantics, leading to sometimes omitting the weak part.
More information about the Haskell-Cafe