Ленивые вычисления

Материал из Википедии — свободной энциклопедии
(перенаправлено с «Отложенные вычисления»)
Перейти к: навигация, поиск

Ленивые вычисления (англ. lazy evaluation, также отложенные вычисления) — применяемая в некоторых языках программирования стратегия вычисления, согласно которой вычисления следует откладывать до тех пор, пока не понадобится их результат. Ленивые вычисления относятся к нестрогим вычислениям. Усовершенствованная модель ленивых вычислений — оптимистичные вычисления — переходит в разряд недетерминированных стратегий вычисления.

Отложенные вычисления позволяют сократить общий объём вычислений за счёт тех вычислений, результаты которых не будут использованы. Программист может просто описывать зависимости функций друг от друга и не следить за тем, чтобы не осуществлялось «лишних вычислений».

Отложенные вычисления естественным образом легли на функциональную парадигму программирования, поскольку функциональные языки программирования, реализующие отложенные вычисления, зарекомендовали себя как инструменты, удобные для прототипирования и быстрой разработки программного обеспечения, а также для проектирования электронно-вычислительных устройств.

Языки программирования, реализующие отложенные вычисления
  • Haskell — язык программирования, в котором наиболее полно реализованы отложенные вычисления. Не имеет оператора присваивания значения переменной, а только операцию определения функциональной зависимости. Имеет списки отложенных вычислений, позволяющие программистам оперировать бесконечными последовательностями.
  • Mathematica и Maxima допускают отложенные вычисления с помощью оператора определения «:=».
  • Концепция отложенных вычислений реализована в Javascript-библиотеках Streams.js, linq.js и node-lazy[1]
  • В языке Python отложенные вычисления реализованы с помощью функций-генераторов и ключевого слова yield.

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

Ссылки[править | править вики-текст]