Weak Head Normal Form

07.04. The Weak Form YouTube

Weak Head Normal Form. Whnf [ (\x.y) z ] = false (1) whnf [ \x. Alonzo church was alan turing’s doctoral advisor, and his lambda calculus predates turing machines.

07.04. The Weak Form YouTube
07.04. The Weak Form YouTube

(f x) ] = false (2) whnf [ x y ] = whnf [ x ] (3) in all other cases whnf [x] = true (4) Web the first argument of seq is not guaranteed to be evaluated before the second argument. A term in weak head normal form is either a term in head normal form or a lambda abstraction. Whnf [ (\x.y) z ] = false (1) whnf [ \x. The first argument of seq will only be evaluated to weak head normal form. An expression is in weak head normal form (whnf), if it is either: Weak head normal form means, the expression will only evaluate as far as necessary to reach to a data constructor. So, seq forced the list to be evaluated but not the components that make. Aside from a healthy mental workout, we find lambda calculus is sometimes superior: A constructor (eventually applied to arguments) like true, just (square 42) or (:) 1.

An expression in weak head normal form has been evaluated to the outermost data constructor or lambda abstraction (the head). This means a redex may appear inside a lambda body. Alonzo church was alan turing’s doctoral advisor, and his lambda calculus predates turing machines. An expression is in weak head normal form (whnf), if it is either: Therefore, every normal form expression is also in weak head normal form, though the opposite does not hold in general. Now, i have following expression: Web weak head normal form. So, seq forced the list to be evaluated but not the components that make. (f x) ] = false (2) whnf [ x y ] = whnf [ x ] (3) in all other cases whnf [x] = true (4) Reduction strategies [ edit ] But then i read this wikipedia article where whnf is defined for the lambda calculus as follows: