Type checking records and variants in a natural extension of ML

D. Rémy
1989 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '89  
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.
doi:10.1145/75277.75284 dblp:conf/popl/Remy89 fatcat:2csf6zynobbefnm57jurs6xmdy