Строгая функция - Strict function
Эта статья нужны дополнительные цитаты для проверка.Июль 2016) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
В Информатика и компьютерное программирование, а функция f считается строгий если, применительно к выражению без завершения, оно также не завершается.[1] А строгая функция в денотационная семантика из языки программирования это функция ж куда . Организация , называется Нижний, обозначает выражение, которое не возвращает нормальное значение либо потому, что оно повторяется бесконечно, либо потому, что оно прерывается из-за ошибки, такой как деление на ноль. Функция, которая не является строгой, называется нестрогий. А строгий язык программирования это тот, в котором пользовательские функции всегда строгие.
Интуитивно нестрогие функции соответствуют управляющие структуры. С функциональной точки зрения строгая функция - это функция, которая всегда оценивает это аргумент; нестрогая функция - это функция, которая может не оценивать некоторые из своих аргументов. Функции, имеющие более одного параметра, могут быть строгими или нестрогими по каждому параметру независимо, а также совместно строгий по нескольким параметрам одновременно.
Например, если-то-еще
выражение многих языков программирования, называемое ?:
в языках, вдохновленных C, его можно рассматривать как функцию трех параметров. Эта функция является строгой в отношении своего первого параметра, так как функция должна знать, оценивается ли ее первый аргумент как истинное или ложное, прежде чем она сможет вернуться; но второй параметр не является строгим, потому что (например) если (ложь,,1) = 1
, а также нестрогие в третьем параметре, потому что (например) если (правда, 2,) = 2
. Тем не менее, он является строгим по второму и третьему параметрам, поскольку если правда,,) =
и если (ложь,,) =
.
В нестрогий функциональное программирование язык, анализ строгости относится к любому алгоритму, используемому для доказательства строгости функции в отношении одного или нескольких ее аргументов. Такие функции могут быть составлен к более эффективному соглашение о вызовах, Такие как вызов по значению, не меняя смысла прилагаемой программы.
Смотрите также
Рекомендации
- ^ «Нежное введение в Haskell: функции». www.haskell.org. Получено 2016-06-23.