A direct algorithm for type inference in the rank-2 fragment of the second-order &lgr;-calculus
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
TIL: a type-directed optimizing compiler for ML
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Putting type annotations to work
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
First-class polymorphism with type inference
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proofs about a folklore let-polymorphic type inference algorithm
ACM Transactions on Programming Languages and Systems (TOPLAS)
Semi-explicit first-class polymorphism for ML
Information and Computation
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Principal type-schemes for functional programs
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Scrap your boilerplate: a practical design pattern for generic programming
Proceedings of the 2003 ACM SIGPLAN international workshop on Types in languages design and implementation
Proceedings of the 5th ACM Conference on Functional Programming Languages and Computer Architecture
Proceedings of the 5th ACM Conference on Functional Programming Languages and Computer Architecture
The Subtyping Problem for Second-Order Types is Undecidable
LICS '96 Proceedings of the 11th Annual IEEE Symposium on Logic in Computer Science
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
MLF: raising ML to the power of system F
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
ACM SIGPLAN Notices
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Simple unification-based type inference for GADTs
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Simple unification-based type inference for GADTs
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
A type directed translation of MLF to system F
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
Selective strictness and parametricity in structural operational semantics, inequationally
Theoretical Computer Science
The design and implementation of typed scheme
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
AspectML: A polymorphic aspect-oriented functional programming language
ACM Transactions on Programming Languages and Systems (TOPLAS)
HMF: simple type inference for first-class polymorphism
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
FPH: first-class polymorphism for Haskell
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Implementation and Application of Functional Languages
Flexible types: robust type inference for first-class polymorphism
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
APLAS '08 Proceedings of the 6th Asian Symposium on Programming Languages and Systems
Information and Computation
QML: explicit first-class polymorphism for ML
Proceedings of the 2009 ACM SIGPLAN workshop on ML
Generic programming with dependent types
SSDGP'06 Proceedings of the 2006 international conference on Datatype-generic programming
HOL2P - a system of classical higher order logic with second order polymorphism
TPHOLs'07 Proceedings of the 20th international conference on Theorem proving in higher order logics
Formal polytypic programs and proofs
Journal of Functional Programming
A lean specification for GADTs: system F with first-class equality proofs
Higher-Order and Symbolic Computation
Expansion for universal quantifiers
ESOP'12 Proceedings of the 21st European conference on Programming Languages and Systems
Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
Complete and easy bidirectional typechecking for higher-rank polymorphism
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Hi-index | 0.00 |
Languages with rich type systems are beginning to employ a blend of type inference and type checking, so that the type inference engine is guided by programmer-supplied type annotations. In this paper we show, for the first time, how to combine the virtues of two well-established ideas: unification-based inference, and bidi-rectional propagation of type annotations. The result is a type system that conservatively extends Hindley-Milner, and yet supports both higher-rank types and impredicativity.