Word:

Weak Head Normal Form

(reduction, lambda calculus)Weak Head Normal Form - (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
Browse
WD
WDASM
WDK
WDL
WDM
WDMCSA
WDP
WDS
WDT
We
We'll
WE/EB
Weak
Weak conjugation
Weak declension
weak force
-- Weak Head Normal Form --
weak interaction
weak part
weak point
Weak side
weak sore
weak spot
weak typing
Weak-hearted
Weak-kneed
Weak-minded
Weaken
weakened
Weakener
weakening
Weaker vessel
Weakfish
Definitions Index: # A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

About this site and copyright information - Online Dictionary Home - Privacy Policy