Efficient Type Inference for Record Concatenation and Subtyping

Jens Palsberg and Tian Zhao

To appear at Symposium on Logic in Computer Science (LICS'2002), Copenhagen, Denmark, July 22nd - 25th, 2002


Abstract

Record concatenation, multiple inheritance, and multiple-object cloning are closely related and part of various language designs. For example, in Cardelli's untyped Obliq language, a new object can be constructed from several existing objects by cloning followed by concatenation; an error is given in case of field name conflicts. Type systems for record concatenation have been studied by Wand, Harper and Pierce, Remy, and others; and type inference for the combination of record concatenation and subtyping has been studied by Sulzmann and by Pottier. In this paper we present the first polynomial-time type inference algorithm for record concatenation, subtyping, and recursive types. Our example language is the Abadi-Cardelli object calculus extended with a concatenation operator. The type inference algorithm runs in O(n^5) time where n is the size of the program. Our algorithm enables efficient type checking of Obliq programs without changing the programs at all.


Server START Conference Manager
Update Time 15 Mar 2002 at 15:30:30
Maintainer lics02@dcs.ed.ac.uk.
Start Conference Manager
Conference Systems