Lightweight fusion by fixed point promotion

Atsushi Ohori, Isao Sasano

Research output: Chapter in Book/Report/Conference proceedingConference contribution

33 Citations (Scopus)

Abstract

This paper proposes a lightweight fusion method for general recursive function definitions. Compared with existing proposals, our method has several significant practical features: it works for general recursive functions on general algebraic data types; it does not produce extra runtime overhea (except for possible code size increase due to the success of fusion); and it is readily incorporated in standard inlining optimization. This is achieved by extending the ordinary inlining process with a new fusion law that transforms a term of the form f o (fixgx.E) to a new fixed point term fixhx.E′ by promoting the function f through the fixed point operator. This is a sound syntactic transformation rule that is not sensitive to the types of f and g. This property makes our method applicable to wide range of functions including those with multi-parameters in both curried and uncurried forms. Although this method does not guarantee any form of completeness, it fuses typical examples discussed in the literature and others that involve accumulating parameters, either in the tt foldl-like specific forms or in general recursive forms, without any additional machinery. In order to substantiate our claim, we have implemented our method in a compiler. Although it is preliminary, it demonstrates practical feasibility of this method.

Original languageEnglish
Title of host publicationConference Record of POPL 2007
Subtitle of host publicationThe 34th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - Papers Presented at the Symposium
Pages143-154
Number of pages12
DOIs
Publication statusPublished - 2007
Externally publishedYes
Event34th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - Nice, France
Duration: 2007 Jan 172007 Jan 19

Publication series

NameConference Record of the Annual ACM Symposium on Principles of Programming Languages
ISSN (Print)0730-8566

Conference

Conference34th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Country/TerritoryFrance
CityNice
Period07/1/1707/1/19

Keywords

  • Fixed point
  • Fusion
  • Inlining

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'Lightweight fusion by fixed point promotion'. Together they form a unique fingerprint.

Cite this