Deciding ML typability is complete for deterministic exponential time
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type inference with polymorphic recursion
ACM Transactions on Programming Languages and Systems (TOPLAS)
On the complexity analysis of static analyses
Journal of the ACM (JACM)
ICLP '02 Proceedings of the 18th International Conference on Logic Programming
ML Typability is DEXTIME-Complete
CAAP '90 Proceedings of the 15th Colloquium on Trees in Algebra and Programming
A New Meta-complexity Theorem for Bottom-Up Logic Programs
IJCAR '01 Proceedings of the First International Joint Conference on Automated Reasoning
Polymorphic type inference for the named nested relational calculus
ACM Transactions on Computational Logic (TOCL)
Hm(x) type inference is clp(x) solving
Journal of Functional Programming
From ML to MLF: graphic type constraints with efficient type inference
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Information and Computation
Algorithmic specifications in linear logic with subexponentials
PPDP '09 Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming
A rewriting semantics for type inference
ESOP'07 Proceedings of the 16th European conference on Programming
Hi-index | 0.00 |
This paper gives a bottom-up logic programming formulation of the Hindley-Milner polymorphic type inference algorithm. We show that for programs of bounded order and arity the given algorithm runs in O(nα(n) + dn) time where n is the length of the program, d is the "scheme depth" of the program, and α is the inverse of Ackermann's function. It is argued that for practical programs d will not exceed 5 even for programs with hundreds of module layers. This formulation of the Hindley-Milner algorithm is intended as a case study in "logical algorithms", i.e., algorithms presented and analyzed as bottom-up inference rules.