Principal type scheme and unification for intersection type discipline
Theoretical Computer Science - International Joint Conference on Theory and Practice of Software Development, P
Filter models with polymorphic types
Theoretical Computer Science
On the type structure of standard ML
ACM Transactions on Programming Languages and Systems (TOPLAS)
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
Bounded quantification is undecidable
Information and Computation
Intersection type assignment systems
Selected papers of the thirteenth conference on Foundations of software technology and theoretical computer science
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
A modular, polyvariant and type-based closure analysis
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Basic simple type theory
Inference of polymorphic and conditional strictness properties
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Second-order unification and type inference for Church-style polymorphism
POPL '98 Proceedings of the 25th 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
Relating typability and expressiveness in finite-rank intersection type systems (extended abstract)
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
The Definition of Standard ML
POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN 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
Towards a theory of type structure
Programming Symposium, Proceedings Colloque sur la Programmation
A Complete Type Inference Algorithm for Simple Intersection Types
CAAP '92 Proceedings of the 17th Colloquium on Trees in Algebra and Programming
Typability is Undecidable for F+Eta
Typability is Undecidable for F+Eta
What are Principal Typings and What are They Good For?
What are Principal Typings and What are They Good For?
Mathematical Structures in Computer Science
Haskell '03 Proceedings of the 2003 ACM SIGPLAN workshop on Haskell
Rank 2 intersection types for modules
Proceedings of the 5th ACM SIGPLAN international conference on Principles and practice of declaritive programming
Discriminative sum types locate the source of type errors
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Principal typings for Java-like languages
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Another step towards a smart compilation manager for Java
Proceedings of the 2004 ACM symposium on Applied computing
Principality and type inference for intersection types using expansion variables
Theoretical Computer Science
Type inference for a distributed π-calculus
Science of Computer Programming - Special issue on 12th European symposium on programming (ESOP 2003)
PPDP '04 Proceedings of the 6th ACM SIGPLAN international conference on Principles and practice of declarative programming
Polymorphic bytecode: compositional compilation for Java-like languages
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type inference, principal typings, and let-polymorphism for first-class mixin modules
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
TypEr: a type annotator of Erlang code
Proceedings of the 2005 ACM SIGPLAN workshop on Erlang
On flow-sensitive security types
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A polymorphic modal type system for lisp-like multi-staged languages
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Space-aware ambients and processes
Theoretical Computer Science
Types for ambient and process mobility†
Mathematical Structures in Computer Science
Rank 2 Intersection for Recursive Definitions
Fundamenta Informaticae - Typed Lambda Calculi and Applications 2005, Selected Papers
Principal Typings for Explicit Substitutions Calculi
CiE '08 Proceedings of the 4th conference on Computability in Europe: Logic and Theory of Algorithms
On Polymorphic Recursion, Type Systems, and Abstract Interpretation
SAS '08 Proceedings of the 15th international symposium on Static Analysis
Type Disciplines for Analysing Biologically Relevant Properties
Electronic Notes in Theoretical Computer Science (ENTCS)
Information and Computation
Electronic Notes in Theoretical Computer Science (ENTCS)
Dependent types from counterexamples
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 13th International Conference on Database Theory
Proceedings of the third ACM SIGPLAN workshop on Mathematically structured functional programming
Expressiveness of generic process shape types
TGC'10 Proceedings of the 5th international conference on Trustworthly global computing
Strict intersection types for the Lambda Calculus
ACM Computing Surveys (CSUR)
From exponential to polynomial-time security typing via principal types
ESOP'11/ETAPS'11 Proceedings of the 20th European conference on Programming languages and systems: part of the joint European conferences on theory and practice of software
Instant polymorphic type systems for mobile process calculi: just add reduction rules and close
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
Rank-2 intersection and polymorphic recursion
TLCA'05 Proceedings of the 7th international conference on Typed Lambda Calculi and Applications
Polymorphic type reconstruction using type equations
IFL'03 Proceedings of the 15th international conference on Implementation of Functional Languages
WMC'09 Proceedings of the 10th international conference on Membrane Computing
Approaches to polymorphism in classical sequent calculus
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
Expansion for universal quantifiers
ESOP'12 Proceedings of the 21st European conference on Programming Languages and Systems
Rank 2 Intersection for Recursive Definitions
Fundamenta Informaticae - Typed Lambda Calculi and Applications 2005, Selected Papers
Deriving a complete type inference for hindley-milner and vector sizes using expansion
PEPM '13 Proceedings of the ACM SIGPLAN 2013 workshop on Partial evaluation and program manipulation
Fundamenta Informaticae - Intersection Types and Related Systems ITRS
Hi-index | 0.00 |
Let S be some type system. A typing in S for a typable term M is the collection of all of the information other than M which appears in the final judgement of a proof derivation showing that M is typable. For example, suppose there is a derivation in S ending with the judgement A 驴 M : 驴 meaning that M has result type 驴 when assuming the types of free variables are given by A. Then (A, 驴) is a typing for M. A principal typing in S for a term M is a typing for M which somehow represents all other possible typings in S for M. It is important not to confuse this with a weaker notion in connection with the Hindley/Milner type system often called"principal types". Previous definitions of principal typings for specific type systems have involvedv arious syntactic operations on typings such as substitution of types for type variables, expansion, lifting, etc.This paper presents a new general definition of principal typings which does not depend on the details of any particular type system. This paper shows that the new general definition correctly generalizes previous system-dependent definitions. This paper explains why the new definition is the right one. Furthermore, the new definition is used to prove that certain polymorphic type systems using 驴-quantifiers, namely System F and the Hindley/Milner system, do not have principal typings.All proofs can be foundin a longer version available at the author's home page.