Type inference with non-structural subtyping

We present an O(n3) time type inference algorithm for a type system with a largest typeΤ, a smallest type ⊥, and the usual ordering between function types. The algorithm infers type annotations of least shape, and it works equally well for recursive types. For the problem of typability, our algorithm is simpler than the one of Kozen, Palsberg, and Schwartzbach for type inferencewithout ⊥. This may be surprising, especially because the system with ⊥ is strictly more powerful.

[1]  John C. Mitchell,et al.  Coercion and type inference , 1984, POPL.

[2]  J. Palsberg,et al.  Safety Analysis versus Type Inference for Partial Types , 1992 .

[3]  Jan Friso Groote,et al.  A Complete Equational Axiomatization for MPA with String Iteration , 1995 .

[4]  Nils Klarlund,et al.  An n log n Algorithm for Online BDD Refinement , 1995, J. Algorithms.

[5]  Franck van Breugel,et al.  From Branching to Linear Metric Domains (and back) , 1995 .

[6]  Jens Palsberg,et al.  Strong Normalization with Non-Structural Subtyping , 1995, Math. Struct. Comput. Sci..

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

[8]  Igor Walukiewicz,et al.  Automata for the-calculus and Related Results , 1995 .

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

[10]  Jan Friso Groote,et al.  A Complete Equational Axiomatization for MPA with String Iteration , 1995, Theor. Comput. Sci..

[11]  Jens Palsberg,et al.  Trust in the λ-calculus , 1995, Journal of Functional Programming.

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

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

[14]  Satish R. Thatte,et al.  Type Inference with Partial Types , 1988, Theor. Comput. Sci..

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

[16]  Peter Bro Miltersen,et al.  Tables Should Be Sorted (On Random Access Machines) , 1995, WADS.

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

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

[19]  John C. Mitchell,et al.  Type inference with simple subtypes , 1991, Journal of Functional Programming.

[20]  Jens Palsberg Efficient Inference of Object Types , 1995, Inf. Comput..

[21]  Jens Palsberg,et al.  Type Inference with Non-structural Subtyping , 1995 .