A calculus with polymorphic and polyvariant flow types

  • Authors:
  • J. B. Wells;Allyn Dimock;Robert Muller;Franklyn Turbak

  • Affiliations:
  • Heriot-Watt University, Edinburgh EH14 4AS, Scotland (e-mail: jbw@cee.hw.ac.uk);Harvard University, Cambridge, MA 02138, USA (e-mail: dimock@deas.harvard.edu);Boston College, Chestnut Hill, MA 02467, USA (e-mail: muller@cs.bc.edu);Wellesley College, Wellesley MA 02481, USA (e-mail: fturbak@wellesley.edu)

  • Venue:
  • Journal of Functional Programming
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present λCIL, a typed λ-calculus which serves as the foundation for a typed intermediate language for optimizing compilers for higher-order polymorphic programming languages. The key innovation of λCIL is a novel formulation of intersection and union types and flow labels on both terms and types. These flow types can encode polyvariant control and data flow information within a polymorphically typed program representation. Flow types can guide a compiler in generating customized data representations in a strongly typed setting. Since λCIL enjoys confluence, standardization, and subject reduction properties, it is a valuable tool for reasoning about programs and program transformations.