Наиболее очевидное использование лени в повседневном языке - это оператор if, в котором выполняется только одна ветвь условного выражения.
Противоположностью чисто нестрогого (ленивого) языка был бы чисто строгий язык.
Существует, по крайней мере, один случай, когда выгоден «чисто строгий», а именно предикация ветвей .
Грубый парафраз связанной статьи:
Давным-давно в мире процессоров инструкции по выполнению были загружены при тестировании состояния ветвления. В какой-то момент были добавлены конвейеры инструкций, чтобы сократить время загрузки. Недостатком было то, что ЦП не знал, какую ветку ему нужно загрузить, поэтому он по умолчанию загружает одну. Если ветвь пошла другим путем, конвейер остановился бы, пока загружался код для другой ветки.
Решение состоит в том, чтобы загрузить обе ветви, выполнить обе ветви, тогда результат условного запроса скажет вам, какой результат ветви сохранить, а какой выбросить. Тогда вы не получите трубопровода в стойло.
Это мой любимый (только?) Пример использования чисто строгого языка.