La evaluación perezosa se calcula una expresión (Parcial) solamente si realmente se necesita el valor para calcular el resultado.
- El evaluador hace solamente lo preciso. Corresponde a llamada por necesidad.
- Significa: Haz solo lo que te pida un patrón a la izquierda de una ecuación o cualificador.
- No se evalúa ningún elemento en ninguna forma hasta que no sea necesario.
- Las listas se almacenan internamente en un formato no evaluado.
- La evaluación perezosa consiste en utilizar paso por nombre y recordar los valores de los argumentos ya calculados para evitar re calcularlos.
Ejemplo considerando la Función:
mult :: (Int , Int) -> Int
mult (x,y) = x*y
Se dividen en grupos básicos estrictos y no estrictos basados en como se manejan los argumentos de una función.
Evaluación mediante paso de parámetros por valor Call by Value
mult (1+2, 2+3)
= mult (3,5) [por def. de mult]
= 3*5 [por def. de mult]
= 15 [por def. de *]
Evaluación mediante paso de parámetros por nombre Call by Name
mult (1+2,2+3)
= (1+2)*(3+5) [por def. de mult]
= 3*5 [por def. de +]
Autor: Gloria Lizeth Alonso Arellano
Fecha: 4/Abril/2016
Referencias:
https://prezi.com/oflutpangiac/evaluacion-perezosa/
http://es.slideshare.net/JesusAntonioGarciaLopez1/123507620-queeslaevaluacionperezosadocx
No hay comentarios.:
Publicar un comentario