Polymorphic type inference and containment
Information and Computation - Semantics of Data Types
Partial polymorphic type inference and higher-order unification
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
Type reconstruction with first-class polymorphic values
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Unification under a mixed prefix
Journal of Symbolic Computation
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
Polymorphic type inference and abstract data types
ACM Transactions on Programming Languages and Systems (TOPLAS)
Simple imperative polymorphism
Lisp and Symbolic Computation - Special issue on state in programming languages (part I)
What are principal typings and what are they good for?
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Putting type annotations to work
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Principality and decidable type inference for finite-rank intersection types
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Semi-explicit first-class polymorphism for ML
Information and Computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Isomorphisms of Types: From Lambda-Calculus to Information Retrieval and Language Design
Isomorphisms of Types: From Lambda-Calculus to Information Retrieval and Language Design
Principal type-schemes for functional programs
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Programming Objects with ML-ART, an Extension to ML with Abstract and Record Types
TACS '94 Proceedings of the International Conference on Theoretical Aspects of Computer Software
Type Inference in Polymorphic Type Discipline
TACS '91 Proceedings of the International Conference on Theoretical Aspects of Computer Software
Higher-order Unification via Explicit Substitutions
LICS '95 Proceedings of the 10th Annual IEEE Symposium on Logic in Computer Science
On the Undecidability of Partial Polymorphic Type Reconstruction
On the Undecidability of Partial Polymorphic Type Reconstruction
Rank 2 Type Systems and Recursive Definitions
Rank 2 Type Systems and Recursive Definitions
Type inference for system f with and without the eta rule
Type inference for system f with and without the eta rule
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
ACM SIGPLAN Notices
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
ACM SIGPLAN Notices
Essential language support for generic programming
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Simple, partial type-inference for System F based on type-containment
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Quantified types in an imperative language
ACM Transactions on Programming Languages and Systems (TOPLAS)
Boxy types: inference for higher-rank types and impredicativity
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
A graphical presentation of MLF types with a linear-time unification algorithm
TLDI '07 Proceedings of the 2007 ACM SIGPLAN international workshop on Types in languages design and implementation
Practical type inference for arbitrary-rank types
Journal of Functional Programming
Iteration and coiteration schemes for higher-order and nested datatypes
Theoretical Computer Science - Foundations of software science and computation structures
A type directed translation of MLF to system F
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
Acute: High-level programming language design for distributed computation
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
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
MPC '08 Proceedings of the 9th international conference on Mathematics of Program Construction
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
Implementing polymorphism in SMT solvers
SMT '08/BPR '08 Proceedings of the Joint Workshops of the 6th International Workshop on Satisfiability Modulo Theories and 1st International Workshop on Bit-Precise Reasoning
Information and Computation
QML: explicit first-class polymorphism for ML
Proceedings of the 2009 ACM SIGPLAN workshop on ML
Greedy bidirectional polymorphism
Proceedings of the 2009 ACM SIGPLAN workshop on ML
Inferable object-oriented typed assembly language
PLDI '10 Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation
Game semantics for call-by-value polymorphism
ICALP'10 Proceedings of the 37th international colloquium conference on Automata, languages and programming: Part II
Harnessing MLFwith the power of system F
MFCS'10 Proceedings of the 35th international conference on Mathematical foundations of computer science
Types for units-of-measure: theory and practice
CEFP'09 Proceedings of the Third summer school conference on Central European functional programming school
A language for generic programming in the large
Science of Computer Programming
Existential label flow inference via CFL reachability
SAS'06 Proceedings of the 13th international conference on Static Analysis
Strong normalization of MLF via a calculus of coercions
Theoretical Computer Science
A church-style intermediate language for MLF
FLOPS'10 Proceedings of the 10th international conference on Functional and Logic Programming
A church-style intermediate language for MLF
Theoretical Computer Science
Expansion for universal quantifiers
ESOP'12 Proceedings of the 21st European conference on Programming Languages and Systems
Complete and easy bidirectional typechecking for higher-rank polymorphism
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Hi-index | 0.00 |
We propose a type system MLF that generalizes ML with first-class polymorphism as in System F. Expressions may contain second-order type annotations. Every typable expression admits a principal type, which however depends on type annotations. Principal types capture all other types that can be obtained by implicit type instantiation and they can be inferred.All expressions of ML are well-typed without any annotations. All expressions of System F can be mechanically encoded into MLF by dropping all type abstractions and type applications, and injecting types of lambda-abstractions into MLF types. Moreover, only parameters of lambda-abstractions that are used polymorphically need to remain annotated.