Weak Head Normal Form

Weak head

Weak Head Normal Form. An expression in weak head normal form has been evaluated to the outermost data constructor or lambda abstraction (the head). The first argument of seq will only be evaluated to weak head normal form.

Weak head
Weak head

Web weak head normal form. Weak head normal form means, the expression will only evaluate as far as necessary to reach to a data constructor. Web there is also the notion of weak head normal form: An expression is in weak head normal form (whnf), if it is either: This means a redex may appear inside a lambda body. A term in weak head normal form is either a term in head normal form or a lambda abstraction. An expression in weak head normal form has been evaluated to the outermost data constructor or lambda abstraction (the head). The first argument of seq will only be evaluated to weak head normal form. Web the first argument of seq is not guaranteed to be evaluated before the second argument. Web reduce terms to weak normal forms only.

An expression is in weak head normal form (whnf), if it is either: Reduction strategies [ edit ] A term in weak head normal form is either a term in head normal form or a lambda abstraction. Normal form means, the expression will be fully evaluated. (f x) ] = false (2) whnf [ x y ] = whnf [ x ] (3) in all other cases whnf [x] = true (4) Seq is defined as follows. Web lambda calculus is historically significant. Weak head normal form means, the expression will only evaluate as far as necessary to reach to a data constructor. An expression in weak head normal form has been evaluated to the outermost data constructor or lambda abstraction (the head). And once i read through them i thought i got it. But then i read this wikipedia article where whnf is defined for the lambda calculus as follows: