A polymorphic type system for PROLOG.
Artificial Intelligence
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
How to make ad-hoc polymorphism less ad hoc
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the Second European Symposium on Programming
Type inference with polymorphic recursion
ACM Transactions on Programming Languages and Systems (TOPLAS)
Type inference for records in natural extension of ML
Theoretical aspects of object-oriented programming
Constrained types and their expressiveness
ACM Transactions on Programming Languages and Systems (TOPLAS)
A framework for type inference with subtyping
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Proofs about a folklore let-polymorphic type inference algorithm
ACM Transactions on Programming Languages and Systems (TOPLAS)
Type inference with constrained types
Theory and Practice of Object Systems - Special issue on foundations of object-oriented languages
A Machine-Oriented Logic Based on the Resolution Principle
Journal of the ACM (JACM)
A constraint-based region inference algorithm
Theoretical Computer Science
Principal type-schemes for functional programs
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
TCLP: Overloading, Subtyping and Parametric Polymorphism Made Practical for CLP
ICLP '02 Proceedings of the 18th International Conference on Logic Programming
Let-Polymorphism and Eager Type Schemes
TAPSOFT '97 Proceedings of the 7th International Joint Conference CAAP/FASE on Theory and Practice of Software Development
Selected Papers from Constraint Programming: Basics and Trends
Interactive type debugging in Haskell
Haskell '03 Proceedings of the 2003 ACM SIGPLAN workshop on Haskell
A general framework for hindley/milner type systems with constraints
A general framework for hindley/milner type systems with constraints
Improving type error diagnosis
Haskell '04 Proceedings of the 2004 ACM SIGPLAN workshop on Haskell
Theoretical Computer Science
ACM Transactions on Programming Languages and Systems (TOPLAS)
A logical algorithm for ML type inference
RTA'03 Proceedings of the 14th international conference on Rewriting techniques and applications
Type processing by constraint reasoning
APLAS'06 Proceedings of the 4th Asian conference on Programming Languages and Systems
Constrained types for object-oriented languages
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Complete coinductive subtyping for abstract compilation of object-oriented languages
Proceedings of the 12th Workshop on Formal Techniques for Java-Like Programs
FoVeOOS'10 Proceedings of the 2010 international conference on Formal verification of object-oriented software
Typing as functional-logic evaluation
PEPM '13 Proceedings of the ACM SIGPLAN 2013 workshop on Partial evaluation and program manipulation
Extending Type Inference to Variational Programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Hi-index | 0.00 |
The HM(X) system is a generalization of the Hindley/Milner system parameterized in the constraint domain X. Type inference is performed by generating constraints out of the program text, which are then solved by the domain-specific constraint solver X. The solver has to be invoked at the latest when type inference reaches a let node so that we can build a polymorphic type. A typical example of such an inference approach is Milner's algorithm W. We formalize an inference approach where the HM(X) type inference problem is first mapped to a CLP(X) program. The actual type inference is achieved by executing the CLP(X) program. Such an inference approach supports the uniform construction of type inference algorithms and has important practical consequences when it comes to reporting type errors. The CLP(X) style inference system, where X is defined by Constraint Handling Rules, is implemented as part of the Chameleon system.