A type system equivalent to flow analysis

Flow-based safety analysis of higher-order languages has been studied by Shivers, and Palsberg and Schwartzbach. Open until now is the problem of finding a type system that accepts exactly the same programs as safety analysis. In this paper we prove that Amadio and Cardelli's type system with subtyping and recursive types accepts the same programs as a certain safety analysis. The proof involves mappings from types to flow information and back. As a result, we obtain an inference algorithm for the type system, thereby solving an open problem.

[1]  Mitchell Wand Finding the source of type errors , 1986, POPL '86.

[2]  Tsung-Min Kuo,et al.  Strictness analysis: a new perspective based on type inference , 1989, FPCA.

[3]  Mitchell Wand,et al.  Type inference for record concatenation and multiple inheritance , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[4]  Olin Shivers,et al.  Data-flow analysis and type recovery in Scheme , 1990 .

[5]  Andrew W. Appel,et al.  Compiling with Continuations , 1991 .

[6]  Anders Bondorf,et al.  Automatic Autoprojection of Higher Order Recursive Equations , 1990, Sci. Comput. Program..

[7]  Peter Sestoft,et al.  Analysis and efficient implementation of functional programs , 1991 .

[8]  Mitchell Wand,et al.  Type inference for record concatenation and multiple inheritance , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[9]  Olin Shivers,et al.  Control-flow analysis of higher-order languages of taming lambda , 1991 .

[10]  Luca Cardelli,et al.  Subtyping recursive types , 1991, POPL '91.

[11]  Jens Palsberg,et al.  Safety Analysis Versus Type Inference for Partial Types , 1992, Inf. Process. Lett..

[12]  J. Jørgensen,et al.  Efficient Analyses for Realistic Off-Line Partial Evaluation : Extended Version , 1993 .

[13]  Anders Bondorf,et al.  Efficient Analysis for Realistic Off-Line Partial Evaluation , 1993, J. Funct. Program..

[14]  Torben Amtoft Minimal Thunkification , 1993, WSA.

[15]  Jens Palsbergypalsberg,et al.  Eecient Recursive Subtyping , 1993 .

[16]  Jens Palsberg,et al.  Efficient recursive subtyping , 1992, POPL '93.

[17]  Charles Consel,et al.  A tour of Schism: a partial evaluation system for higher-order applicative languages , 1993, PEPM '93.

[18]  Pierre Jouvelot,et al.  Separate Abstract Interpretation for Control-Flow Analysis , 1994, TACS.

[19]  Nevin Heintze,et al.  Set-based analysis of ML programs , 1994, LFP '94.

[20]  Jens Palsberg,et al.  Efficient inference of partial types , 1992, Proceedings., 33rd Annual Symposium on Foundations of Computer Science.

[21]  Jens Palsberg,et al.  Flobal Program Analysis in Constraint Form , 1994, CAAP.

[22]  Jens Palsberg,et al.  Binding-time analysis: abstract interpretation versus type inference , 1994, Proceedings of 1994 IEEE International Conference on Computer Languages (ICCL'94).

[23]  Mitchell Wand,et al.  Selective and lightweight closure conversion , 1994, POPL '94.

[24]  Jens Palsberg,et al.  Object-oriented type systems , 1994, Wiley professional computing.

[25]  D. Kozen,et al.  Ecien t Inference of Partial Types , 1994 .

[26]  Jens Palsberg,et al.  Safety Analysis versus Type Inference , 1992, Inf. Comput..

[27]  Jens Palsberg,et al.  Closure analysis in constraint form , 1995, TOPL.