## A Polymorphic Record Calculus and Its Compilation (1995)

Venue: | ACM Transactions on Programming Languages and Systems |

Citations: | 72 - 8 self |

### BibTeX

@ARTICLE{Ohori95apolymorphic,

author = {Atsushi Ohori},

title = {A Polymorphic Record Calculus and Its Compilation},

journal = {ACM Transactions on Programming Languages and Systems},

year = {1995},

volume = {17},

pages = {17--6}

}

### Years of Citing Articles

### OpenURL

### Abstract

this article appeared in Proceedings of ACM Symposium on Principles of Programming Languages, 1992, under the title \A compilation method for ML-style polymorphic record calculi." This work was partly supported by the Japanese Ministry of Education under scienti c research grant no. 06680319. Author's address: Research Institute for Mathematical Sciences, Kyoto University, Sakyo-ku, Kyoto 606-01, JAPAN; email: ohori@kurims.kyoto-u.ac.jp Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of ACM. To copy otherwise, or to republish, requires a fee and/or speci c permission. c 1999 ACM 0164-0925/99/0100-0111 $00.75

### Citations

1562 | The Definition of Standard ML
- Miller, Tofte, et al.
- 1990
(Show Context)
Citation Context ...Record Calculus and Its Compilation 845 gramming. Despite their practical importance, however, existing polymorphic programming languages do not properly support these data structures. Standard ML [M=-=ilner et al. 1990-=-] contains labeled records and a form of labeled variants, but their allowable operations are restricted to monomorphic ones. For example, consider the following simple function name on records: name ... |

1115 |
The Lambda Calculus: Its Syntax and Semantics
- Barendregt
- 1981
(Show Context)
Citation Context ... It is also easily veried that this relation commutes with the reduction relation generated bysand type-. Since the latter reduction is well known to be Church-Rosser, by the Hindley-Roger theorem [Ba=-=rendregt 198-=-4, ch.3], the entire relation is Church-Rosser. For the reduction system, we can also include rule for lambda abstraction. However, there seems to be no easy way to include other extensionality rules... |

936 | A theory of type polymorphism in progra.mming - Milner - 1978 |

758 | On understanding types, data abstraction, and polymorphism
- Cardelli, Wegner
- 1985
(Show Context)
Citation Context ...cation to kinded quantication of the form 8t::k: where type variable t is constrained to range only over the set of types denoted by a kind k. This mechanism is analogous to bounded quantication [Card=-=elli and Wegne-=-r 1985]. A kind k is either the universal kind U denoting the set of all types, a record kind of the form ffl 1 : 1 ; ; t n : n gg denoting the set of all record types that contain the speciedsel... |

485 | A semantics of multiple inheritance - Cardelli - 1988 |

358 |
Principal type-schemes for functional programs
- Damas, Milner
- 1982
(Show Context)
Citation Context ... cases for x, e 1 l, and let x=e 1 in e 2 . The cases for modify(e 1 ,l,e 2 ) and hl=e 1 i are similar to the case for e 1 l. Other cases are essentially the same as the corresponding proof for ML [Da=-=mas -=-and Milner 1982]. Case x. Suppose WK(K; T ; x) = (K 0 ; S; M; ). Then T (x) = 8t 1 ::k 1 t n ::k n : 0 and K 0 = Kfs 1 ::k 0 1 ; ; s n ::k 0 n g; S = ;; M = (x s 1 s n ); = [s 1 =t 1 ; ;... |

259 | Compiling Polymorphism Using Intensional Type Analysis
- Harper, Morrisett
- 1995
(Show Context)
Citation Context ...is article can be characterized as specialization of polymorphic functions using type information. In this respect, our work shares the same motivation as the paradigm of \intentional type analysis&qu=-=ot; [Harper and Morrisett 1995-=-]. Their framework is based on runtime type analysis and is therefore more general. For example, certain features of overloading can comfortably be represented in their framework. It is an interesting... |

229 | Une extension de l’interprétation de Gödel à l’analyse et son application à l’élimination de coupures dans l’analyse et la théorie des types - Girard - 1971 |

195 | Standard ml of new jersey
- Appel, MacQueen
- 1991
(Show Context)
Citation Context ...tation calculus let; The ML-style calculus let; The explicit calculus 8; The second-order calculus 6 (type inference) (compile) (restrict) Fig. 2. Relationship among the calculi. system [Appel an=-=d MacQueen 1991-=-]. The following shows two ways of writing the function name in SML ] : - val name = #Name; val name = fn : 'b#fName:'a,...g -> 'a - fun name fName=x,...g = x; val name = fn : 'b#fName:'a,...g -> 'a w... |

192 | Soft typing - Cartwright, Fagan - 1991 |

170 | Unboxed objects and polymorphic typing
- Leroy
- 1992
(Show Context)
Citation Context ...lude a polymorphic unboxed calculus [Ohori and Takamizawa 1995] which specialize polymorphic functions according to the size information obtained by type inference, mixed representation optimization [=-=Leroy 1992-=-] by inserting appropriate box-unbox coercions guided by type information, tag-free garbage collection [Tolmach 1994] by translating a raw term to an explicitly typed second-order term, specialization... |

142 | Operations on records
- Cardelli, Mitchell
- 1989
(Show Context)
Citation Context ...our type system. A restricted form of record extension operation is supported in Jategaonkar and Mitchell [1993]. Explicitly typed second-order calculi for extensible records have also been proposed [=-=Cardelli and Mitchell 1989-=-; Harper and Pierce 1991]. Unavailability of these extension operations is a limitation of our type system. However, those record calculi based on row variables appear to be dicult to compile. To the ... |

116 | A syntactic theory of sequential control - Felleisen, Friedman, et al. - 1987 |

114 |
Extendible hashing - a fast access method for dynamic files
- Fagin, Nievergelt, et al.
- 1979
(Show Context)
Citation Context ...ent. A more-realistic approach for dynamicseld lookup is to use a form of hashing. Remy [1994a] presented an ecient, dynamic,seld lookup method using a form of hashing similar to extendible hashing [F=-=agin et al. 1979-=-] and showed thatseld selection can be implemented with relatively small runtime overhead both in execution time and in extra memory usage. This can be a reasonable implementation technique for variou... |

76 | P.: Type inference with subtypes - Fuh, Mishra |

64 | Using Powerdomains to Generalize Relational Databases
- Buneman, Jung, et al.
- 1991
(Show Context)
Citation Context ... to ACM Transactions on Programming Languages and Systems, 1995. A Polymorphic Record Calculus and Its Compilation 849 generalize the relational natural join operation to general record structures [B=-=uneman et al. 1991-=-; Ohori 1990] and to extend a polymorphic type system with the generalized natural join [Buneman and Ohori 1995; Ohori and Buneman 1988]. However, we are not sure that such an operation should be in t... |

59 | A record calculus based on symmetric concatenation
- Harper, Pierce
- 1991
(Show Context)
Citation Context ...d form of record extension operation is supported in Jategaonkar and Mitchell [1993]. Explicitly typed second-order calculi for extensible records have also been proposed [Cardelli and Mitchell 1989; =-=Harper and Pierce 1991-=-]. Unavailability of these extension operations is a limitation of our type system. However, those record calculi based on row variables appear to be dicult to compile. To the author's knowledge, ther... |

45 | Dl-Dom,øins as & Model of Polymorphism - Gunter, \Minskel |

38 | Polymorphism and type inference in database programming
- Buneman, Ohori
- 1996
(Show Context)
Citation Context ...lation 849 generalize the relational natural join operation to general record structures [Buneman et al. 1991; Ohori 1990] and to extend a polymorphic type system with the generalized natural join [B=-=uneman and Ohori 1995-=-; Ohori and Buneman 1988]. However, we are not sure that such an operation should be in the polymorphic core of programming languages. The operations considered in this article support a wide range of... |

38 | Extensible records in a pure calculus of subtyping - Cardelli - 1994 |

34 |
Inheritance and explicit coercion
- Breazu-Tannen, Coquand, et al.
- 1991
(Show Context)
Citation Context ...g of let; into a kinded typing of let;[ ] . For this to serve as a compilation algorithm for let; , there is one subtle point to be taken care of. This is related to the problem of coherence [Breaz=-=u-Tannen et al. -=-1991]. As shown in Ohori [1989], Damas-Milner system of ML is not coherent with respect to Core XML, and the same is true for the relationship between let; and let; . (See also Harper and Mitchell [... |

31 | hlitchell. The semantics of second-order lambda calculus - Bruce, hleyer, et al. - 1988 |

21 |
Fundamental properties of in trees
- Courcelle
- 1983
(Show Context)
Citation Context ...intgggfx : t 1 g (xl) x : int, the typability on closed terms does not change and therefore does not create any problems. Also, if we extend the type system to recursive types using regular trees [Co=-=urcelle 1983], al-=-lowing those \cyclic" kind assignments would become essential. Buneman and Ohori [1995] discusse possible usefulness of recursive programming with record polymorphism, and Vasconcelos' recent wor... |

14 | An object addressing mechanism for statically typed languages with multiple inheritance - Connor, Dearle, et al. |

13 |
Type inference with extended pattern matching and subtypes
- Jategaonkar, Mitchell
- 1993
(Show Context)
Citation Context ... alternative approach, initiated by Wand [1987; 1988], is to extend ML-style polymorphic typing directly to record polymorphism. This idea was further developed in a number of type inference systems [=-=Jategaonkar and Mitchell 199-=-3; Ohori and Buneman 1988; 1989; Remy1989; 1992; 1994b; Wand 1989]. In these type systems, a most general polymorphic type scheme can be inferred for any typable untyped term containing operations on ... |

11 | The typed polymorphic label-selective -calculus - Garrigue, At-Kaci - 1994 |

10 | A label-selective lambda-calculus with optional arguments and its compilation method - Furuse, Garrigue - 1995 |

8 |
Using Hindley-Milner type inference to optimize list representation
- Hall
- 1994
(Show Context)
Citation Context ...citly typed second-order term, specialization of Haskell type classes [Wadler and Blott 1989] using type information [Hall et al. 1994; Peterson and Jones 1993], and list representation optimization [=-=Hall 1994-=-; Shao et al. 1994]. Since program translations in all of these approaches and ours appear to share some general structure, a detailed comparison among them may shed some light on the general property... |

2 | Complete sets of transformations for general E-uni - Gallier, Snyder - 1989 |

1 | On the type structure of Standard ML - rep, Glasgow, et al. - 1993 |