Applicative style programming, program transformation, and list operators

  • Authors:
  • Philip Wadler

  • Affiliations:
  • Carnegie-Mellon University

  • Venue:
  • FPCA '81 Proceedings of the 1981 conference on Functional programming languages and computer architecture
  • Year:
  • 1981

Quantified Score

Hi-index 0.02

Visualization

Abstract

An important feature of the applicative style is the use of operators that package common patterns of computation. For example, the list operator map applies a function to every element of a list. Practical use of this style has been hampered by the fact that it can be very inefficient to execute. One remedy for this situation is to use source-to-source program transformation to convert applicative style programs to more efficient equivalents. This paper examines how list operators can be used to guide the transformation process. It describes a small set of list operators that possess a “complete” set of transformation rules, allowing transformations to be performed very efficiently. Whereas most previous transformation methods resemble proofs, this transformation method resembles algebraic manipulation.