SlideShare una empresa de Scribd logo
1 de 4
Descargar para leer sin conexión
INGENIERIA EN SISTEMAS
COMPUTACIONALES

MATERIA: PROGRAMACIÓN LÓGICA Y FUNCIONAL

CATEDRÁTICO: AGUILAR ORTIZ GABRIELA

ALUMNA: DE LA LUZ CASTELLANOS ERIKA

GRUPO: ISA AULA: I13 HORARIO: 10-11 HRS

SEMESTRE: AGO-DIC/2012

TRABAJO:
INVESTIGACIÓN
¿QUÉ ES LA EVALUACIÓN PEREZOSA?

Evaluación impaciente (eager): el evaluador hace todo lo que puede. Corresponde
a llamada por-valor.

Evaluación perezosa (lazy):



El evaluador hace solamente lo preciso. Corresponde a llamada pornecesidad.



Significa: Haz sólo lo que te pida un patrón a la izquierda de una ecuación o
cualificador (where o let).



Es una estrategia de evaluación que retrasa la evaluación de una expresión
hasta que el valor de esto realmente se requiera (evaluación no estricta) y
que también evita evaluaciones repetidas (compartimiento de ciencias
informáticas). El compartimiento puede reducir la duración de ciertas
funciones por un factor exponencial sobre otras estrategias de evaluación
no estrictas, como la llamada de nombre.

Las ventajas de la evaluación perezosa incluyen:



El rendimiento aumenta debido a evitación de cálculos innecesarios y
evitación de condiciones de error en la evaluación de expresiones
compuestas.



La capacidad de construir estructura de datos potencialmente infinita



La capacidad de definir estructura de control como abstracciones en vez de
como obras primitivistas.
2


La evaluación perezosa puede llevar a la reducción de la huella de
memoria, ya que los valores se crean cuando necesario. Sin embargo, con
la evaluación perezosa, es difícil combinarse con rasgos imperativos como
la excepción que se maneja (manejo de la excepción) y entrada/salida
(entrada/salida), porque el pedido de operaciones se hace indeterminado.
La evaluación perezosa puede introducir el agujero espacial. También, la
depuración es difícil.

ESTRATEGIAS DE PROGRAMACIÓN PEREZOSA

Para los ejemplos se considera la función

mult :: (Int,Int)  Int

mult (x,y) = x * y



Evaluación mediante paso de parámetros por valor (o por más internos):

mult (1+2,2+3)

= mult (3,5) [por def. de +]

= 3*5 [por def. de mult]

= 15 [por def. de *]



Evaluación mediante paso de parámetros por nombre (o por más externos):

mult (1+2,2+3)

3
= (1+2)*(3+5) [por def. de mult]

= 3*5 [por def. de +]



Evaluación con lambda expresiones

mult’ (1+2) (2+3)

= mult’ 3 (2+3) [por def. de +]

= (λy → 3*y) (2+3) [por def. de mult’]

= (λy → 3*y) 5 [por def. de +]

= 3*5 [por def. de +]

= 15 [por def. de *]

4

Más contenido relacionado

La actualidad más candente

1.1 tipos de datos abstractos
1.1 tipos de datos abstractos1.1 tipos de datos abstractos
1.1 tipos de datos abstractoserwin_alexander
 
Oracle PL/SQL exception handling
Oracle PL/SQL exception handlingOracle PL/SQL exception handling
Oracle PL/SQL exception handlingSmitha Padmanabhan
 
Compilador Usando Jflex y Cup
Compilador Usando Jflex y CupCompilador Usando Jflex y Cup
Compilador Usando Jflex y Cupditopo
 
Sistemas operativos - Sistemas De Archivos - reporte unidad 5
Sistemas operativos - Sistemas De Archivos - reporte unidad 5Sistemas operativos - Sistemas De Archivos - reporte unidad 5
Sistemas operativos - Sistemas De Archivos - reporte unidad 5Dj Mada - Tres Valles, Veracruz
 
Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basicoGustavo Davila
 
BúSqueda Primero En Anchura
BúSqueda Primero En AnchuraBúSqueda Primero En Anchura
BúSqueda Primero En Anchuramapaz91
 
Mecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmosMecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmosAbimael hernandez
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidosVictor Reyes
 
Control de eventos en gui
Control de eventos en guiControl de eventos en gui
Control de eventos en guijc_lovecraft77
 
Administracion de Base de Datos Oracle
Administracion de Base de Datos OracleAdministracion de Base de Datos Oracle
Administracion de Base de Datos OracleISRAEL
 
Características, componentes y arquitectura de los dbms.
Características, componentes y arquitectura de los dbms.Características, componentes y arquitectura de los dbms.
Características, componentes y arquitectura de los dbms.Julicamargo
 

La actualidad más candente (20)

Curso básico de ensamblador
Curso básico de ensambladorCurso básico de ensamblador
Curso básico de ensamblador
 
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADORUNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
 
1.1 tipos de datos abstractos
1.1 tipos de datos abstractos1.1 tipos de datos abstractos
1.1 tipos de datos abstractos
 
Oracle PL/SQL exception handling
Oracle PL/SQL exception handlingOracle PL/SQL exception handling
Oracle PL/SQL exception handling
 
Compilador Usando Jflex y Cup
Compilador Usando Jflex y CupCompilador Usando Jflex y Cup
Compilador Usando Jflex y Cup
 
Sistemas operativos - Sistemas De Archivos - reporte unidad 5
Sistemas operativos - Sistemas De Archivos - reporte unidad 5Sistemas operativos - Sistemas De Archivos - reporte unidad 5
Sistemas operativos - Sistemas De Archivos - reporte unidad 5
 
Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basico
 
Tecnología Orientada a Objetos
Tecnología Orientada a ObjetosTecnología Orientada a Objetos
Tecnología Orientada a Objetos
 
BúSqueda Primero En Anchura
BúSqueda Primero En AnchuraBúSqueda Primero En Anchura
BúSqueda Primero En Anchura
 
Lista simple
Lista simpleLista simple
Lista simple
 
TABLA DE SÍMBOLOS
TABLA DE SÍMBOLOSTABLA DE SÍMBOLOS
TABLA DE SÍMBOLOS
 
Mecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmosMecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmos
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Control de eventos en gui
Control de eventos en guiControl de eventos en gui
Control de eventos en gui
 
Administracion de Base de Datos Oracle
Administracion de Base de Datos OracleAdministracion de Base de Datos Oracle
Administracion de Base de Datos Oracle
 
Características, componentes y arquitectura de los dbms.
Características, componentes y arquitectura de los dbms.Características, componentes y arquitectura de los dbms.
Características, componentes y arquitectura de los dbms.
 
Prueba de Caja Blanca
Prueba de Caja BlancaPrueba de Caja Blanca
Prueba de Caja Blanca
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Administración de memoria
Administración de memoriaAdministración de memoria
Administración de memoria
 
Creación de Procesos en Android
Creación de Procesos en AndroidCreación de Procesos en Android
Creación de Procesos en Android
 

123507620 que-es-la-evaluacion-perezosa-docx

  • 1. INGENIERIA EN SISTEMAS COMPUTACIONALES MATERIA: PROGRAMACIÓN LÓGICA Y FUNCIONAL CATEDRÁTICO: AGUILAR ORTIZ GABRIELA ALUMNA: DE LA LUZ CASTELLANOS ERIKA GRUPO: ISA AULA: I13 HORARIO: 10-11 HRS SEMESTRE: AGO-DIC/2012 TRABAJO: INVESTIGACIÓN
  • 2. ¿QUÉ ES LA EVALUACIÓN PEREZOSA? Evaluación impaciente (eager): el evaluador hace todo lo que puede. Corresponde a llamada por-valor. Evaluación perezosa (lazy):  El evaluador hace solamente lo preciso. Corresponde a llamada pornecesidad.  Significa: Haz sólo lo que te pida un patrón a la izquierda de una ecuación o cualificador (where o let).  Es una estrategia de evaluación que retrasa la evaluación de una expresión hasta que el valor de esto realmente se requiera (evaluación no estricta) y que también evita evaluaciones repetidas (compartimiento de ciencias informáticas). El compartimiento puede reducir la duración de ciertas funciones por un factor exponencial sobre otras estrategias de evaluación no estrictas, como la llamada de nombre. Las ventajas de la evaluación perezosa incluyen:  El rendimiento aumenta debido a evitación de cálculos innecesarios y evitación de condiciones de error en la evaluación de expresiones compuestas.  La capacidad de construir estructura de datos potencialmente infinita  La capacidad de definir estructura de control como abstracciones en vez de como obras primitivistas. 2
  • 3.  La evaluación perezosa puede llevar a la reducción de la huella de memoria, ya que los valores se crean cuando necesario. Sin embargo, con la evaluación perezosa, es difícil combinarse con rasgos imperativos como la excepción que se maneja (manejo de la excepción) y entrada/salida (entrada/salida), porque el pedido de operaciones se hace indeterminado. La evaluación perezosa puede introducir el agujero espacial. También, la depuración es difícil. ESTRATEGIAS DE PROGRAMACIÓN PEREZOSA Para los ejemplos se considera la función mult :: (Int,Int)  Int mult (x,y) = x * y  Evaluación mediante paso de parámetros por valor (o por más internos): mult (1+2,2+3) = mult (3,5) [por def. de +] = 3*5 [por def. de mult] = 15 [por def. de *]  Evaluación mediante paso de parámetros por nombre (o por más externos): mult (1+2,2+3) 3
  • 4. = (1+2)*(3+5) [por def. de mult] = 3*5 [por def. de +]  Evaluación con lambda expresiones mult’ (1+2) (2+3) = mult’ 3 (2+3) [por def. de +] = (λy → 3*y) (2+3) [por def. de mult’] = (λy → 3*y) 5 [por def. de +] = 3*5 [por def. de +] = 15 [por def. de *] 4