ABSTRACT
Strongly typed languages with records may have inclusion rules so that records with more fields can be used instead of records with less fields. But these rules lead to a global treatment of record types as a special case. We solve this problem by giving an ordinary status to records without any ad hoc assertions, replacing inclusion rules by extra information in record types. With this encoding ML naturally extends its polymorphism to records but any other host language will also transmit its power.
- CAMLr.Pierre Weis. "The CAML Reference Manual". INRIA 1987.Google Scholar
- CAMLp.Guy Cousineau and G~rard Huet. "The CAML Primer". INRIA 1987.Google Scholar
- Car84.Luca Cardelli. "A Semantics of Multiple Inheritance". In Information and Computation 1988. In Semantics of Data Types, Lecture Notes in Computer Science n. 173, Springer Verlag, 1983. Google ScholarDigital Library
- Car86.Luca Cardelli. "Amber". In Combinatots and Functional Programming Languages, Proceedings of the 13th Summer School of the LITP, Le Val D'Ajol, Vosges, France, May 1985, Lecture Notes in Computer Science n. 242, Spinger Verlag, 1986. Google ScholarDigital Library
- Car88.Luca Cardelli. "Structural Subtyping and the notion of Power Type". In Proceedings of the Fifteenth Annual Symposium on Principles Of Programming Languages, 1988. Google ScholarDigital Library
- Coppo.Mario Coppo. "An Extended Polymorphic Type System for Applicative Languages", in Proceedings of MFCS '80, Lectures Notes in Computer Science n. 88, Springer Verlag, pages 194-204. Google ScholarDigital Library
- CW85.Luca Cardelli and Peter Wegner. "On understanding types, data abstraction~ and polymorphism". Computing Surveys, vol. 17(4). 198 . Google ScholarDigital Library
- FM88.Y-C. Fuh and P. Mishra. "Type inference with subtypes". In Proceedings of ESOP '88, Lecture Notes in Computer Science n. 300, Springer Verlag, pages 94- 114, 1988. Google ScholarCross Ref
- Huet.G~rard ttuet. "R~solution d'~quations dans les langages d'ordre 1, 2, ..,~". Th~se de doctorat d'~tat, Universit~ Paris 7, 1976.Google Scholar
- JM88.Lalita A. Jategaonkar and John C. Mitchell. "ML with Extended Pattern Matching and Subtypes". In Proceedings of the 1988 Conference on LISP and Functional Programming. Google ScholarDigital Library
- KTU88.A.J. Kfoury, J. Tiuryn and P. Urzyczyn. "On The Computational Power of Universally Polymorphic Recursion". In Proceedings of the Third Symposium on Logic In Computer Science, 1988.Google ScholarCross Ref
- Mit84.John C. Mitchell. "Coercion and Type Inference". In Proceedings of the Eleventh Annual Symposium on Principles Of Programming Languages, 1984. Google ScholarDigital Library
- Mit88.John C. Mitchell. "Polymorphic Type Inference". In Information and Computation, 1988. Google ScholarDigital Library
- Sta88.Ryan S tansifer. "Type inference with Subtypes". In Proceedings of the Fifteenth Annual Symposium on Principles of Programming Languages, San Diego, California, 1988. Google ScholarDigital Library
- Wand87.Mitchell Wand. "Complete type inference for simple objects". In Proceedings of the Second Symposium on Logic In Computer Science, 1987.Google Scholar
- Wand88.Mitchell Wand. "Corrigendum: Complete type inference for simple objects". In Proceedings of the Third Symposium on Logic In Computer Science, 1988.Google ScholarCross Ref
Index Terms
- Type checking records and variants in a natural extension of ML
Recommendations
Type inference with rank 1 polymorphism for type-directed compilation of ML
This paper defines an extended polymorphic type system for an ML-style programming language, and develops a sound and complete type inference algorithm. Different frdm the conventional ML type discipline, the proposed type system allows full rank 1 ...
Type inference with rank 1 polymorphism for type-directed compilation of ML
ICFP '99: Proceedings of the fourth ACM SIGPLAN international conference on Functional programmingThis paper defines an extended polymorphic type system for an ML-style programming language, and develops a sound and complete type inference algorithm. Different frdm the conventional ML type discipline, the proposed type system allows full rank 1 ...
Type extension through polymorphism
A record data type can be extended by addition of more fields. The extended type is a subtype of the original, in that any value of the extended type can be regarded as a value of the original type by ignoring the additional fields. This results in a ...
Comments