Copyright © Philip M. Parker, INSEAD. Terms of Use.

WEAK HEAD NORMAL FORM

Specialty Definition: WEAK HEAD NORMAL FORM

DomainDefinition

Computing

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 (1994-10-31). Source: The Free On-line Dictionary of Computing.

Source: compiled by the editor from various references; see credits.

Top     

Crosswords: WEAK HEAD NORMAL FORM

Specialty definitions using "WEAK HEAD NORMAL FORM": head normal formnormal formWHNF. (references)

Top     

Alternative Orthography: WEAK HEAD NORMAL FORM


Hexadecimal (or equivalents, 770AD-1900s) (references)

57 45 41 4B      48 45 41 44      4E 4F 52 4D 41 4C      46 4F 52 4D

Leonardo da Vinci (1452-1519; backwards) (references)

            

Binary Code (1918-1938, probably earlier) (references)

01010111 01000101 01000001 01001011 00100000 01001000 01000101 01000001 01000100 00100000 01001110 01001111 01010010 01001101 01000001 01001100 00100000 01000110 01001111 01010010 01001101

HTML Code (1990) (references)

&#87 &#69 &#65 &#75 &#32 &#72 &#69 &#65 &#68 &#32 &#78 &#79 &#82 &#77 &#65 &#76 &#32 &#70 &#79 &#82 &#77

ISO 10646 (1991-1993) (references)

0057 0045 0041 004B      0048 0045 0041 0044      004E 004F 0052 004D 0041 004C      0046 004F 0052 004D

Encryption (beginner's substitution cypher): (references)

573935452423935382484952473546240495247

Top     



INDEX

1. Crosswords
2. Orthography
3. Bibliography


  

Copyright © Philip M. Parker, INSEAD. Terms of Use.