Отложенные вычисления

Отложенные вычисления

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

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

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

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

См. также

Примечания

Ссылки



Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Полезное


Смотреть что такое "Отложенные вычисления" в других словарях:

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

  • Язык функционального программирования — Функциональное программирование объединяет разные подходы к определению процессов вычисления на основе достаточно строгих абстрактных понятий и методов символьной обработки данных. Сформулированная Джоном Мак Карти (1958) концепция символьной… …   Википедия

  • Функциональное программирование — Парадигмы программирования Агентно ориентированная Компонентно ориентированная Конкатенативная Декларативная (контрастирует с Императивной) Ограничениями Функциональная Потоком данных Таблично ориентированная (электронные таблицы) Реактивная …   Википедия

  • Mathematica — Тип Сист …   Википедия

  • Семантика вычислений — Семантика вычислений  это определение процесса вычисления в виде последовательности правил перезаписи, которое вместе с представлением о сходимости впервые были использованы в контексте исчисления. Сходимость важна также в системах… …   Википедия

  • Оптимизация (информатика) — Эта статья об оптимизации программ и данных вообще; об оптимизациях, применяемых компиляторами см.: Оптимизация компилятора. У этого термина существуют и другие значения, см. Оптимизация. Оптимизация  модификация системы для улучшения её… …   Википедия

  • Мемоизация — В программировании, мемоизация специальная оптимизационная методика, которая позволяет увеличить скорость выполнения компьютерных программ. Данная методика заключается в том, чтобы исключить повторное вычисление результатов …   Википедия

  • Nonfarm Payrolls — (Количество новых рабочих мест вне сельского хозяйства) Nonfarm Payrolls это макроэкономический показатель занятости населения США вне сферы сельского хозяйства Макроэкономический показатель занятости Nonfarm Payrolls, количество рабочих мест вне …   Энциклопедия инвестора

  • Функциональные языки программирования — В языках функционального программирования основным конструктивным элементом является математическое понятие функции. Существует различия в понимании функции в математике и функции в программировании, в следствии чего нельзя отнести Си подобные… …   Википедия

  • Функциональный язык программирования — В языках функционального программирования основным конструктивным элементом является математическое понятие функции. Существует различия в понимании функции в математике и функции в программировании, в следствии чего нельзя отнести Си подобные… …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»