Skip to main content

Deforestation of Functional Programs through Type Inference

Chitil, Olaf (2000) Deforestation of Functional Programs through Type Inference. In: Goerigk, Wolfgang, ed. 17 Workshops der GI-Fachgruppe 2.1.4. Programmiersprachen und Rechenkonzepte mit Schwerpunkt Softwarecomponenten. . pp. 121-130. Bericht Nr. 2007 des Instituts für Informatik und Praktische Mathematik der Christian-Albrechts-Universität zu Kiel (KAR id:21999)

Language: English
Download (173kB) Preview
[thumbnail of Deforestation_of_Functional_Programs_through_Type_Inference.pdf]
This file may not be suitable for users of assistive technology.
Request an accessible format


Deforestation optimises a functional program by transforming it into another one that does not create certain intermediate data structures. Short cut deforestation is a deforestation method which is based on a single, local transformation rule. In return, short cut deforestation expects both producer and consumer of the intermediate structure in a certain form. Starting from the fact that short cut deforestation is based on a parametricity theorem of the second-order typed lambda-calculus, we show how the required form of a list producer can be derived through the use of type inference. Type inference can also indicates which function definitions need to be inlined. Because only limited inlining across module boundaries is practically feasible, we develop a scheme for splitting a function definition into a worker definition and a wrapper definition. For deforestation we only need to inline the small wrapper definition.

Item Type: Conference or workshop item (Paper)
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
Depositing User: Olaf Chitil
Date Deposited: 09 Sep 2009 13:32 UTC
Last Modified: 16 Feb 2021 12:32 UTC
Resource URI: (The current URI for this page, for reference purposes)
Chitil, Olaf:
  • Depositors only (login required):


Downloads per month over past year