Modo de evaluación

Páginas: 2 (421 palabras) Publicado: 14 de abril de 2014
Modo de evaluación
Cada lenguaje de programación tiene un modo de evaluación a la hora de calcular las expresiones.
En los lenguajes de programación tradicionales, lo que tenemos es evaluaciónansiosa (eager evaluation). Con este tipo de evaluación, cuando asignamos un valor a una variable, o pasamos un parámetro a una función, se calcula cual es el valor final a asignar o cual es el valorfinal del parámetro.
En el lenguaje de programación Haskell lo que tenemos es evaluación perezosa (lazy evaluation), en este caso se calcula el valor de las expresiones cuando necesita hacer uso deeste valor.
Ejemplo:

v = sqrt(2) + 3 * sqrt(5);

f( 4 / g( 7 ) );

En evaluación ansiosa, antes de asignar nada a v, se llamará a las funciones sqrt con sus parámetros correspondientes, luego seaplicara la expresión matemática para obtener el valor final a asignar a v. En el caso de la llamada a la función f, antes se ha de llamar a la función g y dividir entre 4 el resultado de estallamada. Por eso se denomina evaluación ansiosa, porque se ha de obtener el valor de las expresiones en cuanto el programa se las encuentra.

En evaluación perezosa, en v se guardaría como se calcula suvalor y no el valor final. Y el parámetro pasado a f sería la formula completa y no el valor de aplicar la expresión. Si resulta que ni la variable v ni el parámetro de la función f se usan, pues nuncase llamaría a las funciones sqrt y g, ni se realizarían las operaciones matemáticas pertinentes.

Esto puede suponer una diferencia enorme entre ejecutar con evaluación perezosa y evaluaciónansiosa. Si tenemos definidas f y g como:

int f( int a ){
return 4;
}
int g( int a ){
return a - 7;
}

Con evaluación ansiosa obtendríamos un error "division by zero" mientras que conevaluación perezosa la ejecución terminaría sin error.

Otra característica de la evaluación perezosa es que uno puede, por ejemplo, definir una lista infinita de primos sin caer en una recursión...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Metodos modernos de evaluacion de desempeÑo
  • Modo De Evaluacion
  • modos de evaluacion
  • Modo De Evaluacion
  • Instrumento De Evaluación De Los Modos Discursivos
  • Informe Técnico Evaluación de Riesgos Película “Tiempos Modernos” Charles Chaplin
  • Mod II LO 03 Evaluacion De Desempeno
  • Moda, moda y más moda

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS