2002
DOI: 10.1017/s0956796801004245
|View full text |Cite
|
Sign up to set email alerts
|

A calculus with polymorphic and polyvariant flow types

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… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
29
0

Year Published

2002
2002
2024
2024

Publication Types

Select...
5
3

Relationship

0
8

Authors

Journals

citations
Cited by 44 publications
(29 citation statements)
references
References 61 publications
0
29
0
Order By: Relevance
“…Some work on program analysis in compilation uses intersection and union types to infer control flow properties [24,15]. Because of the goals of these systems for program analysis and control flow information, the specific forms of intersection and union types are quite different from ours.…”
Section: Related Workmentioning
confidence: 99%
“…Some work on program analysis in compilation uses intersection and union types to infer control flow properties [24,15]. Because of the goals of these systems for program analysis and control flow information, the specific forms of intersection and union types are quite different from ours.…”
Section: Related Workmentioning
confidence: 99%
“…Wells et al [169] have investigated a type-based intermediate language with intersection and union flow types. Their focus has been type-based compilation, rather than flow analysis [169].…”
Section: Type-based Analysismentioning
confidence: 99%
“…Their focus has been type-based compilation, rather than flow analysis [169]. As such, they have inferred control-flow information using known flow analyses, and afterwards decorated the flow types with the inferred flow information [48].…”
Section: Type-based Analysismentioning
confidence: 99%
See 1 more Smart Citation
“…Reasoning directly over diverging executions in a step-indexed approach is difficult, because we lack the notion of "number of execution steps" to build inductive definitions and Uncurrying of functions, including across higher-order functions, could also be decided based on the results of Shivers' control-flow analysis [32] or its type-based reformulation by Wells et al [37]. Conservatively, one could uncurry a function definition only if all the call sites to which it flows are curried and match the arity of the function; in this case, no coercions need to be inserted.…”
Section: 1mentioning
confidence: 99%