On understanding types, data abstraction, and polymorphism
ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
A simple applicative language: mini-ML
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
Principal type-schemes for functional programs
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Polymorphic Type Schemes and Recursive Definitions
Proceedings of the 6th Colloquium on International Symposium on Programming
The Implementation of Functional Programming Languages (Prentice-Hall International Series in Computer Science)
Type inference and semi-unification
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
Type inference in the presence of type abstraction
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Type reconstruction with first-class polymorphic values
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Polymorphic unification and ML typing
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A categorized bibliography on incremental computation
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
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)
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
RANK 2 INTERSECTION TYPE ASSIGNMENT IN TERM REWRITING SYSTEMS
Fundamenta Informaticae
Hi-index | 0.00 |
We extend the functional language ML by allowing the recursive calls to a function F on the right-hand side of its definition to be at different types, all generic instances of the (derived) type of F on the left-hand side of its definition. The original definition of ML does not allow this feature. This extension does not produce new types beyond the usual universal polymorphic types of ML and satisfies the properties already enjoyed by ML: the principal-type property and the effective type-assignment property.