Ліниві обчислення (lazy evaluation)
Коротко: За лінивих обчислень вираз обчислюється лише тоді, коли його результат справді потрібен, — і тоді щонайбільше один раз. Протилежність — негайні (енергійні, eager) обчислення.
Докладніше: Це дозволяє описувати нескінченні послідовності й уникати дорогих обчислень, які ніколи не знадобляться. Haskell лінивий повністю; в інших мовах є генератори, потоки, lazy-змінні та оператори короткого замикання.
Подробиці
def numbers(): #Див. також: ітератор, чиста функція, мемоїзація, функція вищого порядку