weak head normal form

Computing Dictionary

Weak Head Normal Form definition

reduction, lambda calculus
(WHNF) A lambda expression is in weak head normal form (WHNF) if it is a head normal form (HNF) or any lambda abstraction. I.e. the top level is not a redex.
The term was coined by Simon Peyton Jones to make explicit the difference between head normal form (HNF) and what graph reduction systems produce in practice. A lambda abstraction with a reducible body, e.g.
\ x . ((\ y . y+x) 2)
is in WHNF but not HNF. To reduce this expression to HNF would require reduction of the lambda body:
(\ y . y+x) 2 --> 2+x
Reduction to WHNF avoids the name capture problem with its need for alpha conversion of an inner lambda abstraction and so is preferred in practical graph reduction systems.
The same principle is often used in strict languages such as Scheme to provide call-by-name evaluation by wrapping an expression in a lambda abstraction with no arguments:
D = delay E = \ () . E
The value of the expression is obtained by applying it to the empty argument list:
force D = apply D () = apply (\ () . E) () = E
The Free On-line Dictionary of Computing, © Denis Howe 2010 http://foldoc.org
Cite This Source
Explore Dictionary.com
Previous Definition: weak handed
Next Definition: weak headed
More from Thesaurus.com
Synonyms and Antonyms for weak head normal form
More from Reference.com
Search for articles containing weak head normal form
Dictionary.com Word FAQs

Dictionary.com presents 366 FAQs, incorporating some of the frequently asked questions from the past with newer queries.

Copyright © 2014 Dictionary.com, LLC. All rights reserved.
  • Please Login or Sign Up to use the Recent Searches feature