Escolar Documentos
Profissional Documentos
Cultura Documentos
Conceptos Fundamentales
Enero-Junio 2014 MTI. Rosa Imelda Garca Chi
Programacin Lgica y Funcional MTI. Rosa Imelda Garca Chi
Al no ser nica la secuencia de reduccin que se puede producir a partir de una expresin inicial dada, las diferencias implementaciones de lenguajes funcionales utilizan distintos criterios para restringir el cmputo a una sola posibilidad. Cada criterio bien definido para escoger solamente uno de los redex posibles en cada paso de reescritura, se llama estrategia de reduccin.
Programacin Lgica y Funcional MTI. Rosa Imelda Garca Chi
la evaluacin perezosa
Como ejemplo de esta situacin sirve la evaluacin de la expresin cuadrado (2+3), mostrada anteriormente. En la prctica, este inconveniente se puede evitar utilizando una representacin de la expresin de cmputo que identifique partes repetidas de la misma, evitando as que sean evaluadas varias veces.
Programacin Lgica y Funcional MTI. Rosa Imelda Garca Chi
la evaluacin perezosa
Las implementaciones de la evaluacin perezosa siempre emplean esta tcnica, denominada estructura compartida. Por ejemplo, la evaluacin perezosa de cuadrado (2+3) con estructura compartida produce un cmputo con el miso nmero pasos de reduccin que la evaluacin impaciente:
Programacin Lgica y Funcional MTI. Rosa Imelda Garca Chi
El valor indefinido
En los lenguajes funcionales puros, tales como Haskell, la evaluacin de una expresin nunca produce efectos colaterales y da un resultado independiente del contexto en el que se use la expresin.
En este y otros ejemplos, el clculo simblico puede utilizar propiedades conocidas de funciones predefinidas, tales como 2*n=n+n En otros ejemplos ms complicados, el razonamiento con las ecuaciones de un programa debe combinar la ejecucin simblica con tcnicas de induccin.
Programacin Lgica y Funcional MTI. Rosa Imelda Garca Chi