Type reconstruction in the presence of polymorphic recursion
ACM Transactions on Programming Languages and Systems (TOPLAS)
Type inference with polymorphic recursion
ACM Transactions on Programming Languages and Systems (TOPLAS)
Embedding a second-order type system into an intersection type system
Information and Computation
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
Types as abstract interpretations
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Basic simple type theory
POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Incremental polymorphic type checking in B
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
The Essence of Principal Typings
ICALP '02 Proceedings of the 29th International Colloquium on Automata, Languages and Programming
Properties of a Type Abstract Interpreter
VMCAI 2003 Proceedings of the 4th International Conference on Verification, Model Checking, and Abstract Interpretation
Towards a theory of type structure
Programming Symposium, Proceedings Colloque sur la Programmation
Polymorphic Type Schemes and Recursive Definitions
Proceedings of the 6th Colloquium on International Symposium on Programming
Rank 2 intersection types for local definitions and conditional expressions
ACM Transactions on Programming Languages and Systems (TOPLAS)
Rank 2 Type Systems and Recursive Definitions
Rank 2 Type Systems and Recursive Definitions
Programming Examples Needing Polymorphic Recursion
Electronic Notes in Theoretical Computer Science (ENTCS)
Rank 2 Intersection for Recursive Definitions
Fundamenta Informaticae - Typed Lambda Calculi and Applications 2005, Selected Papers
Using intersection types for cost-analysis of higher-order polymorphic functional programs
TYPES'06 Proceedings of the 2006 international conference on Types for proofs and programs
Linearity and iterator types for Gödel's System
Higher-Order and Symbolic Computation
Rank 2 Intersection for Recursive Definitions
Fundamenta Informaticae - Typed Lambda Calculi and Applications 2005, Selected Papers
Hi-index | 0.00 |
Let ⊢ be a rank-2 intersection type system. We say that a term is ⊢ -simple (or just simple when the system ⊢ is clear from the context) if system ⊢ can prove that it has a simple type. In this paper we propose new typing rules and algorithms that are able to type recursive definitions that are not simple. At the best of our knowledge, previous algorithms for typing recursive definitions in the presence of rank-2 intersection types allow only simple recursive definitions to be typed. The proposed rules are also able to type interesting examples of polymorphic recursion (i.e., recursive definitions rec {x = e} where different occurrences of x in e are used with different types). Moreover, the underlying techniques do not depend on particulars of rank-2 intersection, so they can be applied to other type systems.