Haskell is a lazy language: any given piece of data is only evaluated when its value must be known

“Haskell is a lazy language: any given piece of data is only evaluated when its value must be known.” (From Real World Haskell.)