Watch out for that tree! A tutorial on shortcut deforestation

Thumbnail Image
Date
2019
Authors
Saraiva,J
João Paulo Fernandes
Cunha,J
Pardo,A
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Functional programmers are strong enthusiasts of modular solutions to programming problems. Since software characteristics such as readability or maintainability are often directly proportional to modularity, this programming style naturally contributes to the beauty of functional programs. Unfortunately, in return of this beauty we often sacrifice efficiency: modular programs rely, at runtime, on the creation, use and elimination of intermediate data structures to connect its components. In this tutorial paper, we study an advanced technique that attempts to retain the best of this two worlds: (i) it allows programmers to implement beautiful, modular programs (ii) it shows how to transform such programs, in a way that can be incorporated in a compiler, into programs that do not construct any intermediate structure. © 2019, Springer Nature Switzerland AG.
Description
Keywords
Citation