On the sequential nature of unification
Journal of Logic Programming
Type inference and semi-unification
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
Polymorphic unification and ML typing
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Computational consequences and partial solutions of a generalized unification problem
Proceedings of the Fourth Annual Symposium on Logic in computer science
Deciding ML typability is complete for deterministic exponential time
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The complexity of type inference for higher-order lambda calculi
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The undecidability of the semi-unification problem
Information and Computation
A simple applicative language: mini-ML
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
Journal of the ACM (JACM)
Principal type-schemes for functional programs
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the Eighth Conference on Foundations of Software Technology and Theoretical Computer Science
The Implementation of Functional Programming Languages (Prentice-Hall International Series in Computer Science)
Type reconstruction in the presence of polymorphic recursion
ACM Transactions on Programming Languages and Systems (TOPLAS)
What are principal typings and what are they good for?
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Dependency analysis for Standard ML
ACM Transactions on Programming Languages and Systems (TOPLAS)
Scalable context-sensitive flow analysis using instantiation constraints
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Explicitly Typed lambda µ-Calculus for Polymorphism an Call-by-Value
TLCA '99 Proceedings of the 4th International Conference on Typed Lambda Calculi and Applications
An Algebraic Characterization of Typability in ML with Subtyping
FoSSaCS '99 Proceedings of the Second International Conference on Foundations of Software Science and Computation Structure, Held as Part of the European Joint Conferences on the Theory and Practice of Software, ETAPS'99
Partially Typed Terms between Church-Style and Curry-Style
TCS '00 Proceedings of the International Conference IFIP on Theoretical Computer Science, Exploring New Frontiers of Theoretical Informatics
Union Types for Semistructured Data
DBPL '99 Revised Papers from the 7th International Workshop on Database Programming Languages: Research Issues in Structured and Semistructured Database Programming
De Bruijn's syntax and reductional equivalence of λ-terms
Proceedings of the 3rd ACM SIGPLAN international conference on Principles and practice of declarative programming
Bytecode Verification by Model Checking
Journal of Automated Reasoning
Stratified polymorphism and primitive recursion
Mathematical Structures in Computer Science
Mathematical Structures in Computer Science
Natural semantics as a static program analysis framework
ACM Transactions on Programming Languages and Systems (TOPLAS)
A larger decidable semiunification problem
Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming
Type error slicing in implicitly typed higher-order languages
ESOP'03 Proceedings of the 12th European conference on Programming
Hi-index | 0.00 |
We carry out an analysis of typability of terms in ML. Our main result is that this problem is DEXPTIME-hard, where by DEXPTIME we mean DTIME(2n0(1)). This, together with the known exponential-time algorithm that solves the problem, yields the DEXPTIME-completeness result. This settles an open problem of P. Kanellakis and J. C. Mitchell.Part of our analysis is an algebraic characterization of ML typability in terms of a restricted form of semi-unification, which we identify as acyclic semi-unification. We prove that ML typability and acyclic semi-unification can be reduced to each other in polynomial time. We believe this result is of independent interest.