En la teoría de los lenguajes de programación en informática , la deforestación (también conocida como fusión ) es una transformación de programas para eliminar listas intermedias o estructuras de árbol que se crean y luego son consumidas inmediatamente por un programa.
El término "deforestación" fue creado por Philip Wadler , originalmente en su artículo de 1990 "Deforestación: transformando programas para eliminar árboles". [ 1 ]
La deforestación se aplica típicamente a programas en lenguajes de programación funcional , más aún a lenguajes de programación no estrictos como Haskell . Un algoritmo para la deforestación, llamado deforestación de atajo , [ 2 ] está implementado en el compilador Glasgow Haskell . [ 3 ] La deforestación está estrechamente relacionada con el análisis de escape .
Véase también
Referencias
- ↑ Wadler, Philip (1990). "Deforestación: transformando programas para eliminar árboles" . Theoretical Computer Science . 73 (2): 231– 248. doi : 10.1016/0304-3975(90)90147-A .
- ↑ Gill, Andrew; Launchbury, John ; Peyton Jones, Simon (1993). "Un atajo hacia la deforestación" (PDF) . Actas de la Conferencia sobre Lenguajes de Programación Funcionales y Arquitectura de Computadoras . págs. 223–232 . doi : 10.1145/165180.165214 .
- ↑ Peyton Jones, Simon ; Tolmach, Andrew; Hoare, CAR (2001). "Jugando según las reglas: la reescritura como una técnica práctica de optimización en GHC" (PDF) . Actas del Taller Haskell de ACM/SIGPLAN .
- Optimizaciones del compilador
- Implementación de lenguajes de programación funcional
- Temas básicos de lenguajes de programación