Odlesianie (informatyka)

Z Wikipedii, wolnej encyklopedii

Odlesianie (również: fuzja) – pojęcie informatyczne z teorii języków programowania, przekształcenie programu mające na celu wyeliminowanie pośrednich struktur danych, takich jak listy, czy drzewa, które są użyte bezpośrednio po ich utworzeniu w programie.

Pojęcie „odlesiania” ukuł Philip Wadler w swojej pracy z 1990 roku pt. Deforestation: transforming programs to eliminate trees[1] („Odlesianie: przekształcanie programów, by wyeliminować drzewa”).

Odlesianie stosuje się zwykle w programach funkcyjnych językach programowania, w szczególności językach umożliwiających wartościowanie leniwe wyrażeń, takich jak Haskell. Jeden z algorytmów odlesiania, shortcut deforestation[2], jest zaimplementowany w Glasgow Haskell Compiler[3] („odlesianie skrócone”), kanonicznym kompilatorze tego języka. Odlesianie jest blisko związane z analizą uciekania.

Zobacz też[edytuj | edytuj kod]

Przypisy[edytuj | edytuj kod]

  1. Philip Wadler. Deforestation: transforming programs to eliminate trees. „Theoretical Computer Science”. 73 (2), s. 231–248, 1990. DOI: 10.1016/0304-3975(90)90147-A. 
  2. Andrew Gill, John Launchbury, Simon Peyton Jones. A short cut to deforestation. „Proc. Conf. on Functional Programming Languages and Computer Architecture”, s. 223–232, 1993. DOI: 10.1145/165180.165214. 
  3. Simon Peyton Jones, Andrew Tolmach, C.A.R. Hoare. Playing by the rules: rewriting as a practical optimization technique in GHC. „Proc. ACM/SIGPLAN Haskell Workshop”, 2001.