Haskell

Páginas: 8 (1904 palabras) Publicado: 11 de diciembre de 2013


INSTITUTO TECNOLÓGICO DE PUEBLA


CARRERA: ING.SISTEMAS COMPUTACIONALES
SÉPTIMO: SEMESTRE GRUPO: C
PRESENTAN:
KAKAROTO
MATERIA: PROGRAMACIÓN LÓGICA Y FUNCIONAL


TEMA: ESTRATEGIAS DE EVALUACION PREZOSA
TÉCNICAS DE PROGRAMACIÓN FUNCIONAL PEREZOSA


TECOMATLAN PUEBLA, A 8 DE DICIEMBRE DEL 2013


ESTRATEGIAS DE EVALUACION PREZOSA
INTRODUCCIÓN
Eneste documento se hablará sobre el tema estrategias de evaluación perezosa o también conocida como llamada por necesidad es una estrategia evalúa y retrasa el cálculo de una expresión hasta que el valor sea necesario, y que también evita repetir la evaluación en caso que sea necesaria posteriormente. Esta evaluación reduce el tiempo de los beneficios de esta evaluación los cuales son elincremento y rendimiento de cálculos innecesarios así como también construir estructuras de datos infinitas y sobre todo ahorrar memoria y reservarla para cálculos posteriores cuando sean necesarios.
¿QUÉ ES HASKELL?
Es un sucesor de Miranda el cual es un lenguaje funcional propuesto por D. Turner en 1985 un programa en este tipo de lenguajes consiste en un conjunto de declaraciones deecuaciones recursivas.
Haskell es un lenguaje de programación con tipos polimórficos con evaluación perezosa y puramente funcional muy diferente a otros lenguajes imperativos

DEFINICIÓN DE EVALUACIÓN PEREZOSA
Podemos definir como evaluación perezosa a la ejecución de las funciones de una forma directa es decir, que no es necesario que muestre los pasos para realizar la operación, solo muestra elresultado. Esto no quiere decir que no se hagan los resultados correctamente, haskell es un lenguaje de programación perezoso el cual solo muestra lo que se le pide pero detrás de eso realiza una serie de operaciones completamente ordenadas para arrojar un resultado correcto.
La evaluación perezosa no se evalúa ningún elemento en ninguna función hasta que no sea necesario las listas sealmacenan internamente en un formato no evaluado.
La evaluación perezosa consiste en utilizar pasos por nombre y recordar los valores de los argumentos ya calculados para evitar recalcularlos. También se denomina estrategia de paso de parámetros por necesidad


ESTRATEGIAS DE EVALUACIÓN PEREZOSA
Hay varios tipos de evaluación perezosa entre ellos tenemos los siguientes:
Evaluación estrictaEvaluación aplicativa
Llamada por valor
Llame por referencia
Llame al compartir
Llame por copia restaurar
Evaluación no estricta
Evaluación normal
Llame por su nombre
Llame por necesidad

EVALUACIÓN ESTRICTA
EVALUACIÓN APLICATIVA
En esta evaluación se elige la sub expresión más interna de la expresión, mientras que en la evaluación normal, se eligen las sub expresiones más externas.
Estaaplicación también es conocida como llamada por valor debido a que se evalúan primero los argumentos de la función y se le pasan a sus valores sus valores.
Ejemplo
mult (3+5,5+7)
= mult (8,12)
= 8*12
= 96
En el ejemplo anterior lo que se hace es tomar primero los valores más internos para posteriormente realizar las operaciones másexternas.
Primero se hacen las dos sumas en este caso serían 5 + 7, luego se suman los siguientes valores que son 3 +5, una vez obtenidos estos valores se procede con las operaciones más externas, en este caso sería la multiplicación 8 * 12 que fue el resultado de las dos sumas y el producto es igual a 96.

LLAMADA POR VALOR
O también conocida como de adentro hacia afuera, es una de lasestrategias mas comunes, esta estrategia elige el redex que “esta mas adentro” entendiendo por esto al redex que no contiene otro redex. Si existe más de un redes que cumpla dicha condición se elige el que esta mas a la izquierda
por ejemplo:
mult (2+3,5+3) aplicamos el primer +
mult (5,5+3)
Aplicamos el + restante
mult (5,8)
Ahora se aplica mult y quedaría de la siguiente forma...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Haskell
  • haskell
  • programas de haskell
  • Resumen Haskell
  • Haskell
  • Haskell
  • Haskell
  • Haskell

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS