Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Evaluacin impaciente (eager): el evaluador hace todo lo que puede. Corresponde a llamada por-valor.
Evaluacin perezosa (lazy):
-
Significa: Haz slo lo que te pida un patrn a la izquierda de una ecuacin o cualificador (where o let).
Es una estrategia de evaluacin que retrasa la evaluacin de una expresin hasta que el valor de esto
realmente se requiera (evaluacin no estricta) y que tambin evita evaluaciones repetidas
(compartimiento de ciencias informticas). El compartimiento puede reducir la duracin de ciertas
funciones por un factor exponencial sobre otras estrategias de evaluacin no estrictas, como la llamada
de nombre.
La capacidad de definir estructura de control como abstracciones en vez de como obras primitivistas.
La evaluacin perezosa puede llevar a la reduccin de la huella de memoria, ya que los valores se crean
cuando necesario. Sin embargo, con la evaluacin perezosa, es difcil combinarse con rasgos imperativos
como la excepcin que se maneja (manejo de la excepcin) y entrada/salida (entrada/salida), porque el
pedido de operaciones se hace indeterminado. La evaluacin perezosa puede introducir el agujero espacial.
Tambin, la depuracin es difcil.
TECNICAS DE PROGRAMACIN PEREZOSA
Para los ejemplos se considera la funcin
mult :: (Int,Int) Int
mult (x,y) = x * y
-
mult (1+2,2+3)
= mult (3,5) [por def. de +]
= 3*5 [por def. de mult]
= 15 [por def. de *]
-
mult (1+2,2+3)
= (1+2)*(3+5) [por def. de mult]
= 3*5 [por def. de +]
Definicin 2 (Sintaxis) El lenguaje de la Lgica de Primer Orden LLPO se construye a partir de las
variables Var, los functores Func y los predicados Pred como sigue:
donde P 2 Pred es un smbolo de predicado de aridad n > 1; ti denota trminos sobre Func;
Observen que los argumentos de un predicado son siempre trminos. Los predicados de aridad cero
puden verse como variables proposicionales.