Perchè l'essere pigri può semplificarci le cose (lo sto dicendo solo per giustificare il mio stile di vita )
In ogni caso: vi volevo portare qualche piccolo esempio in cui l'essere pigri permette permette di implementare alcune cose in modo semplice e compatto!
Se volete poi metto la spiegazione del codice, nel caso non risulti intuitivo

P.s. io ho utilizzato haskell ma cose simili sono possibili anche in altri linguaggi, ad esempio Clojure è pure molto adatto!

codice:
--fibonacci
fibonacci = (fibonacci'!!)
  where
    fibonacci' = 1 : 1 : zipWith (+) fibonacci' (tail fibonacci')

--crivello di Erastotene
primes = (primes'!!)
  where
    primes' = 2 : dropMuls [3,5..]
    dropMuls (x:xs) = x : dropMuls [a | a <- xs, (a `mod` x) /= 0]
    --in alternativa se non si vuole usare la list comprehension
    --dropMuls (x:xs) = x : dropMuls (filter ((/=0) . (`mod`x)) xs)
		
--piramide di tartaglia
tartaglia = (tartaglia'!!)
  where
    tartaglia' = [1] : map tartaglia'' tartaglia'
    tartaglia'' xs = 1 : zipWith (+) xs (tail xs) ++ [1]