Abstract:
We describe an extension of ML with records where inheritance is given by ML generic polymorphism. All common operations on records but concatenation are supported, in particular the free extension of records. Other operations such as renaming of fields are added. The solution relies on an extension of ML, where the language of types is sorted and considered modulo equations, and on a record extension of types. The solution is simple and modular and the type inference algorithm is efficient in practice.
Citations
|
1077
|
A Calculus for Communication Systems
– Milner
- 1980
|
|
467
|
A semantics of multiple inheritance
– Cardelli
- 1984
|
|
292
|
An efficient unification algorithm
– Martelli, Montanari
- 1982
|
|
143
|
Typeful Programming
– Cardelli
- 1989
|
|
133
|
Operations on records
– Cardelli, Mitchell
- 1991
|
|
127
|
Complete type inference for simple objects
– Wand
- 1987
|
|
116
|
Typechecking records and variants in a natural extension of ML
– Rémy
- 1989
|
|
109
|
Type inference for record concatenation and multiple inheritance
– Wand
- 1989
|
|
90
|
Preliminary design of the programming language Forsythe
– Reynolds
- 1988
|
|
72
|
Type Inference with Subtypes
– Fuh, Mishra
- 1990
|
|
65
|
A semantic basis for Quest
– Cardelli, Longo
- 1991
|
|
64
|
Coercion and Type Inference
– Mitchell
- 1984
|
|
46
|
ML with extended pattern matching and subtypes
– Jategaonkar, Mitchell
- 1988
|
|
43
|
The Definition of Standard ML
– Harper, Milner, et al.
- 1989
|
|
34
|
Extending ML type system with a sorted equational theory. Research Report 1766
– R'emy
- 1992
|
|
29
|
The CAML reference manual
– al
- 1990
|
|
23
|
R'esolution d"equations dans les langages d'ordre 1; 2; : : : !. Th`ese d'Etat
– Huet
- 1976
|
|
22
|
Constrained quantification in polymorphic type analysis
– Curtis
- 1990
|
|
20
|
Syntactic theories and the algebra of record terms. Research report 1869
– R'emy
- 1993
|
|
13
|
Extensible records without subsumption
– Harper, Pierce
- 1990
|
|
10
|
Alg`ebres Touffues. Application au Typage Polymorphe des Objects Enregistrements dans les Langages Fonctionnels. Th`ese de doctorat, Universit'e de Paris 7
– R'emy
- 1990
|
|
7
|
An extended polymorphic type system for applicative languages
– Coppo
- 1980
|
|
2
|
LCS: une implantation de CCS
– Berthomieu
- 1988
|
|
2
|
Extensible records in a pure calculus of subtyping. Private Communication
– Cardelli
- 1991
|
|
2
|
Type inference in a database langage
– Ohori, Buneman
- 1988
|