Skip to content

Theory

Laziness

  • laziness = non-strictness + sharing
  • An expression is in weak head normal form (WHNF), if it is either:[^1] - a constructor (eventually applied to arguments): True, Just (Square 42), (:) 1 - a built-in function applied to too few arguments: (+) 2, sqrt - a lambda abstraction: \x -> expression

Graph Reduction

  • normal-order reduction

Strictness

  • seq

[^1]: Weak head normal form - HaskellWiki