Type reconstruction in the presence of polymorphic recursion

We study the problem of type-checking functional programs in three extensions of ML. One distinguishing feature of these extensions is that they allow recursive definitions to be polymorphically typed. Although the motivation for these extensions comes from pragmatic considerations of programming language design, we show that the typability problem for each one of these extensions is polynomial-time equivalent to the Semi-Unification Problem and, therefore, undecidable

[1]  Jerzy Tiuryn,et al.  The Undecidability of the Semi-unification Problem , 1993, Inf. Comput..

[2]  Dominique Clément,et al.  A simple applicative language: mini-ML , 1986, LFP '86.

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

[4]  Paul Walton Purdom,et al.  Detecting Looping Simplifications , 1987, RTA.

[5]  Said Jahama Type Reconstruction in the Presence of Polymorphic Recursion and Recursive Types , 1993 .

[6]  Hans Leiß,et al.  On Type Inference for Object-Oriented Programming Languages , 1987, CSL.

[7]  Jerzy Tiuryn,et al.  On the Expressive Power of Finitely and Universally Polymorphic Recursive Procedures , 1992, Theor. Comput. Sci..

[8]  StatmanMeir Investor Psychology and Market Inefficiencies , 1988 .

[9]  Jerzy Tiuryn,et al.  On the computational power of universally polymorphic recursion , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[10]  Paola Giannini,et al.  Characterization of typings in polymorphic type discipline , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[11]  D. A. Turner,et al.  Miranda: A Non-Strict Functional language with Polymorphic Types , 1985, FPCA.

[12]  Jerzy Tiuryn,et al.  A proper extension of ML with an effective type-assignment , 1988, POPL '88.

[13]  Paliath Narendran,et al.  Semi-Unification , 1991, Theor. Comput. Sci..

[14]  Robin Milner The standard ML core language , 1984 .

[15]  Robin Milner,et al.  A Theory of Type Polymorphism in Programming , 1978, J. Comput. Syst. Sci..

[16]  Paola Giannini,et al.  Type checking and type deduction techniques for polymorphic programming languages , 1985 .

[17]  Pavel Pudlák,et al.  On a unification problem related to Kreisel's conjecture , 1988 .

[18]  A. J. Kfoury,et al.  A general theory of semi-unification , 1993 .

[19]  Jerzy Tiuryn,et al.  Computational consequences and partial solutions of a generalized unification problem , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[20]  Harry G. Mairson Deciding ML typability is complete for deterministic exponential time , 1989, POPL '90.

[21]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[22]  Fritz Henglein,et al.  Type inference and semi-unification , 1988, LISP and Functional Programming.

[23]  Mario Coppo,et al.  Type Inference with Recursive Types: Syntax and Semantics , 1991, Inf. Comput..

[24]  Jerzy Tiuryn,et al.  An analysis of ML typability , 1994, JACM.

[25]  Fritz Henglein,et al.  Type inference with polymorphic recursion , 1993, TOPL.

[26]  John C. Mitchell,et al.  ML with extended pattern matching and subtypes , 1988, LISP and Functional Programming.

[27]  N. P. Mendler,et al.  Inductive Types and Type Constraints in the Second-Order lambda Calculus , 1991, Ann. Pure Appl. Log..

[28]  Alan Mycroft,et al.  Polymorphic Type Schemes and Recursive Definitions , 1984, Symposium on Programming.

[29]  John C. Mitchell,et al.  Polymorphic Type Inference and Containment , 1988, Inf. Comput..

[30]  Jerzy Tiuryn,et al.  Type Reconstruction in Finite Rank Fragments of the Second-Order lambda-Calculus , 1992, Inf. Comput..

[31]  Jerzy Tiuryn,et al.  Type Inference Problems: A Survey , 1990, MFCS.

[32]  John C. Mitchell,et al.  Polymorphic unification and ML typing , 1989, POPL '89.