A record calculus based on symmetric concatenation
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type inference for record concatenation and multiple inheritance
Information and Computation
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
Type inclusion constraints and type inference
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
Soft typing with conditional types
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type inference for records in natural extension of ML
Theoretical aspects of object-oriented programming
Typing record concatenation for free
Theoretical aspects of object-oriented programming
Qualified types: theory and practice
Qualified types: theory and practice
A polymorphic record calculus and its compilation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Componential set-based analysis
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
Static typing for dynamic messages
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type inference with constrained types
Theory and Practice of Object Systems - Special issue on foundations of object-oriented languages
Simplifying subtyping constraints: a theory
Information and Computation
Ordering Constraints over Feature Trees
Constraints
From Classes to Objects via Subtyping
ESOP '98 Proceedings of the 7th European Symposium on Programming: Programming Languages and Systems
SAS '96 Proceedings of the Third International Symposium on Static Analysis
Set Based Analysis of ML Programs (Extended Abstract)
Set Based Analysis of ML Programs (Extended Abstract)
A general framework for hindley/milner type systems with constraints
A general framework for hindley/milner type systems with constraints
Discriminative sum types locate the source of type errors
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
An extension of HM(X) with bounded existential and universal data-types
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Type inference for a distributed π-calculus
Science of Computer Programming - Special issue on 12th European symposium on programming (ESOP 2003)
A systematic approach to static access control
ACM Transactions on Programming Languages and Systems (TOPLAS)
Type inference, principal typings, and let-polymorphism for first-class mixin modules
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Type safe dynamic linking for JVM access control
Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming
Type-specialized staged programming with process separation
Proceedings of the 2009 ACM SIGPLAN workshop on Generic programming
Towards subtyped program generation in F#
Proceedings of the 1st Workshop on Developing Tools as Plug-ins
CSCLP'05 Proceedings of the 2005 Joint ERCIM/CoLogNET international conference on Constraint Solving and Constraint Logic Programming
Type-specialized staged programming with process separation
Higher-Order and Symbolic Computation
Typing as functional-logic evaluation
PEPM '13 Proceedings of the ACM SIGPLAN 2013 workshop on Partial evaluation and program manipulation
Hi-index | 0.00 |
The combination of subtyping, conditional constraints and rows yields a powerful constraint-based type inference system. We illustrate this claim by proposing solutions to three delicate type inference problems: "accurate" pattern matchings, record concatenation, and first-class messages. Previously known solutions involved a different technique in each case: our theoretical contribution is in using only a single set of tools. On the practical side, this allows all three problems to benefit from a common set of constraint simplification techniques, a formal description of which is given in an appendix.