Equality-based flow analysis versus recursive types

Jens Palsberg
1998 ACM Transactions on Programming Languages and Systems  
Equality-based control-flow analysis has been studied by Henglein, Bondorf and Jørgensen, De-Fouw, Grove, and Chambers, and others. It is faster than the subset-based 0-CFA, but also more approximate. Heintze asserted in 1995 that a program can be safety checked with an equalitybased control-flow analysis if and only if it can be typed with recursive types. In this article we falsify Heintze's assertion, and we present a type system equivalent to equality-based control-flow analysis. The new
more » ... nalysis. The new type system contains both recursive types and an unusual notion of subtyping. We have s ≤ t if s and t unfold to the same regular tree, and we have ⊥ ≤ t ≤ where t is a function type. In particular, there is no nontrivial subtyping between function types.
doi:10.1145/295656.295662 fatcat:piypsash6jc5hegyd6gdz4xyk4