1995
DOI: 10.1145/218570.218572
|View full text |Cite
|
Sign up to set email alerts
|

A polymorphic record calculus and its compilation

Abstract: The motivation of this work is to provide a type-theoretical basis for developing a practical polymorphic programming language with labeled records and labeled variants. Our goal is to establish both a polymorphic type discipline and an efficient compilation method for a calculus with those labeled data structures. We define a second-order, polymorphic record calculus as an extension of Girard-Reynolds polymorphic lambda calculus. We then develop an ML-style type inference algorithm for a predicative subset of… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
79
0

Year Published

1998
1998
2006
2006

Publication Types

Select...
4
4
1

Relationship

2
7

Authors

Journals

citations
Cited by 81 publications
(79 citation statements)
references
References 18 publications
0
79
0
Order By: Relevance
“…Several Haskell language extensions have been proposed [10,31,29], alike for other languages, e.g., (S)ML [6,30]. There are also record calculi by Bracha, Ohori and others [5,24]. There are related type systems, e.g., for relational algebra [14].…”
Section: Extensible Recordsmentioning
confidence: 99%
“…Several Haskell language extensions have been proposed [10,31,29], alike for other languages, e.g., (S)ML [6,30]. There are also record calculi by Bracha, Ohori and others [5,24]. There are related type systems, e.g., for relational algebra [14].…”
Section: Extensible Recordsmentioning
confidence: 99%
“…More precisely, we could use one for object types, as one can only refine them by adding new methods, but this is impossible for variant types, as existing constructors may also disappear. For this reason, the formalism we use here is based on kinds [12] rather than row variables, but we will still use an abstract type representing a "virtual" row variable.…”
Section: Formalizationmentioning
confidence: 99%
“…We note that although context terms are similar to record types, any extra machinery for record unification such as [12,8] is not required. We can show the following.…”
Section: Proof System For Code Language and Liveness Analysismentioning
confidence: 99%