Función estricta - Strict function

En ciencias de la computación y programación de computadoras , se dice que una función f es estricta si, cuando se aplica a una expresión no terminante, tampoco termina. Una función estricta en la semántica denotacional de los lenguajes de programación es una función f donde . La entidad , denominada bottom , denota una expresión que no devuelve un valor normal, ya sea porque se repite sin fin o porque aborta debido a un error como la división por cero. Una función que no es estricta se llama no estricta . Un lenguaje de programación estricto es aquel en el que las funciones definidas por el usuario son siempre estrictas.

Intuitivamente, las funciones no estrictas corresponden a estructuras de control . Operacionalmente, una función estricta es aquella que siempre evalúa su argumento ; una función no estricta es aquella que puede no evaluar algunos de sus argumentos. Las funciones que tienen más de un parámetro pueden ser estrictas o no estrictas en cada parámetro de forma independiente, así como conjuntamente estrictas en varios parámetros simultáneamente.

Como ejemplo, la if-then-elseexpresión de muchos lenguajes de programación, llamados ?:en lenguajes inspirados en C, puede pensarse como una función de tres parámetros. Esta función es estricta en su primer parámetro, ya que la función debe saber si su primer argumento se evalúa como verdadero o falso antes de que pueda regresar; pero es no estricto en su segundo parámetro, porque (por ejemplo) , así como no estricto en su tercer parámetro, porque (por ejemplo) . Sin embargo, es conjuntamente estricto en su segundo y tercer parámetro, ya que y . if(false,,1) = 1if(true,2,) = 2if(true,,) = if(false,,) =

En un lenguaje de programación funcional no estricto , el análisis de rigurosidad se refiere a cualquier algoritmo utilizado para probar el rigor de una función con respecto a uno o más de sus argumentos. Estas funciones se pueden compilar para una convención de llamada más eficiente , como llamar por valor , sin cambiar el significado del programa adjunto.

Ver también

Referencias