On the complexity of type inference with coercion
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Order-sorted polymorphism in Isabelle
Papers presented at the second annual Workshop on Logical environments
Satisfiability of inequalities in a poset
Fundamenta Informaticae - Special issue: to the memory of Prof. Helena Rasiowa
Typing algorithm in type theory with inheritance
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Simplifying subtyping constraints: a theory
Information and Computation
Types and programming languages
Types and programming languages
Satisfying subtype inequalities in polynomial space
Theoretical Computer Science
ESOP '88 Proceedings of the 2nd European Symposium on Programming
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Coercions in a polymorphic type system
Mathematical Structures in Computer Science
Extending hindley-milner type inference with coercive structural subtyping
APLAS'11 Proceedings of the 9th Asian conference on Programming Languages and Systems
Extending hindley-milner type inference with coercive structural subtyping
APLAS'11 Proceedings of the 9th Asian conference on Programming Languages and Systems
Hi-index | 0.00 |
We investigate how to add coercive structural subtyping to a type system for simply-typed lambda calculus with Hindley-Milner polymorphism. Coercions allow to convert between different types, and their automatic insertion can greatly increase readability of terms. We present a type inference algorithm that, given a term without type information, computes a type assignment and determines at which positions in the term coercions have to be inserted to make it type-correct according to the standard Hindley-Milner system (without any subtypes). The algorithm is sound and, if the subtype relation on base types is a disjoint union of lattices, also complete. The algorithm has been implemented in the proof assistant Isabelle.