stringtranslate.com

Deforestación (informática)

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 .

Véase también

Referencias

  1. ^ Wadler, Philip (1990). "Deforestación: programas de transformación para eliminar árboles". Ciencias Informáticas Teóricas . 73 (2): 231–248. doi : 10.1016/0304-3975(90)90147-A .
  2. ^ Gill, Andrew; John Launchbury; Simon Peyton Jones (1993). "Un atajo hacia la deforestación" (PDF) . Proc. Conf. sobre lenguajes de programación funcional y arquitectura informática . págs. 223–232. doi :10.1145/165180.165214.
  3. ^ Peyton Jones, Simon; Andrew Tolmach; CAR Hoare (2001). "Jugar según las reglas: reescritura como técnica práctica de optimización en GHC" (PDF) . Proc. Taller de Haskell sobre ACM/SIGPLAN .