# lazy-evaluation

Lazy evaluation is used in Haskell for:

• improving composability and reuse of code, i.e. more declarative code where the order of execution is not strict, but on-demand (i.e.feature/declarative-code )
• produce data structures in a stream way, when chunk are expanded (i.e.feature/stream )