In de theorie van de programmeertalen in de informatica is ontbossing (ook bekend als fuseren) een programmatransformatie om boomstructuren te verwijderen.
De term "ontbossing" is oorspronkelijk verzonnen door Philip Wadler in zijn artikel "Deforestation: transforming programs to eliminate trees"[1].
Ontbossing wordt typisch toegepast op programma's uit de hoek van de functioneel programmeertalen, in het bijzonder de niet-strikte programmeertalen zoals Haskell. Een bijzonder algoritme voor ontbossing, de zogenaamde shortcut deforestation[2], is geïmplementeerd in de Glasgow Haskell Compiler.[3]