Title :
Efficient type inference for record concatenation and subtyping
Author :
Palsberg, Jens ; Zhao, Tian
Author_Institution :
Dept. of Comput. Sci., Purdue Univ., West Lafayette, IN, USA
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 M. Wand (1991), R. Harper and B. Pierce (1991), D. Remy (1992), and others; and type inference for the combination of record concatenation and subtyping has been studied by M. Sulzmann (1997) and by F. Pottier (2000). 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(n5) time where n is the size of the program. Our algorithm enables efficient type checking of Obliq programs without changing the programs at all.
Keywords :
inference mechanisms; type theory; Abadi-Cardelli object calculus; Obliq language; multiple inheritance; multiple-object cloning; polynomial-time type inference algorithm; record concatenation; recursive types; subtyping; Calculus; Cloning; Computer science; Concatenated codes; Inference algorithms; Logic; Polynomials; Runtime;
Conference_Titel :
Logic in Computer Science, 2002. Proceedings. 17th Annual IEEE Symposium on
Print_ISBN :
0-7695-1483-9
DOI :
10.1109/LICS.2002.1029822