A calculus with polymorphic and polyvariant flow types
2002 ◽
Vol 12
(3)
◽
pp. 183-227
◽
Keyword(s):
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.
Keyword(s):
2018 ◽
Keyword(s):
2005 ◽
Vol 15
(2)
◽
pp. 201-229
◽
1994 ◽
Vol 4
(3)
◽
pp. 285-335
◽
2000 ◽
Vol 26
(2-4)
◽
pp. 67-104
◽