A Type System for Record Concatenation and Subtyping
Abstract:
We define a second-order type system with records, record concatenation and subtyping. The aim of this system is to model the most important concepts in object-oriented languages. The novelty in our approach is that record concatenation is controlled by a relation called compatibility. This relation is flexible enough to solve the polymorphic record update problem with concatenation, and restrictive enough to keep the theoretical properties relatively simple. In this article, we prove many of these properties and show that type checking is decidable. 1

