In Haskell, the Strategy Design Pattern looks like this: <---- yeah that
Haskell has call-by-need evaluation by default.
The Strategy Design Pattern is useful for alleviating deficiencies of inexpressive programming languages lacking first-class unevaluated values (thunks) or it is of no consequence and undeserving of recognition since it reduces to a fundamental tenet of computational theory.