В теории языков программирования в информатике , вырубка лесов (также известный как слияние ) является преобразование программы для устранения промежуточных списков или древовидные структуры , которые создаются , а затем сразу же потребляемые программой.
Термин «обезлесение» был первоначально введен Филипом Уодлером в его статье 1990 года «Обезлесение: программы преобразования для уничтожения деревьев». [1]
Вырубка леса обычно применяется к программам на языках функционального программирования , в частности, на нестрогих языках программирования, таких как Haskell . Один конкретный алгоритм обезлесения, быстрого обезлесения , [2] реализован в Glasgow Haskell Compiler . [3] Вырубка лесов тесно связана с анализом побегов .
Смотрите также
Рекомендации
- ^ Wadler, Филипп (1990). «Вырубка лесов: программы преобразования для уничтожения деревьев» . Теоретическая информатика . 73 (2): 231–248. DOI : 10.1016 / 0304-3975 (90) 90147-А .
- ^ Гилл, Эндрю; Джон Лаанчбери; Саймон Пейтон Джонс (1993). «Кратчайший путь к вырубке лесов» (PDF) . Proc. Конф. по языкам функционального программирования и компьютерной архитектуре . С. 223–232. DOI : 10.1145 / 165180.165214 .
- ^ Пейтон Джонс, Саймон; Андрей Толмач; CAR Hoare (2001). «Игра по правилам: переписывание как практический метод оптимизации в GHC» (PDF) . Proc. ACM / SIGPLAN Haskell Workshop .