En la teoría de lenguajes de programación en informática , la deforestación (también conocida como fusión ) es una transformación de un programa 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 acuñado originalmente por Philip Wadler 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 funcionales , particularmente lenguajes de programación no estrictos como Haskell . Un algoritmo particular para la deforestación, la deforestación por atajo , [2] se implementa en el compilador Glasgow Haskell . [3] La deforestación está estrechamente relacionada con el análisis de escape .