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.
| Original language | English |
|---|---|
| Pages (from-to) | 183-227 |
| Number of pages | 45 |
| Journal | Journal of Functional Programming |
| Volume | 12 |
| Issue number | 3 |
| DOIs | |
| Publication status | Published - 2002 |
Fingerprint
Dive into the research topics of 'A calculus with polymorphic and polyvariant flow types'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver