2004
DOI: 10.1017/s0956796803004775
|View full text |Cite
|
Sign up to set email alerts
|

The recursive record semantics of objects revisited

Abstract: In a call-by-value language, representing objects as recursive records requires using an unsafe fixpoint. We design, for a core language including extensible records, a type system which rules out unsafe recursion and still supports the construction of a principal type for each typable term. We illustrate the expressive power of this language with respect to object-oriented programming by introducing a sub-language for “mixin-based” programming.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
12
0

Year Published

2006
2006
2015
2015

Publication Types

Select...
3
2

Relationship

0
5

Authors

Journals

citations
Cited by 15 publications
(12 citation statements)
references
References 57 publications
0
12
0
Order By: Relevance
“…We say that the right-hand side strongly depends on f . Several techniques to check this condition have been proposed [3,14,12,8].…”
Section: From Backpatching To Immediate In-place Updatementioning
confidence: 99%
“…We say that the right-hand side strongly depends on f . Several techniques to check this condition have been proposed [3,14,12,8].…”
Section: From Backpatching To Immediate In-place Updatementioning
confidence: 99%
“…More recently, [HL02] has considered a CMS-like calculus, called CMS v , with a refined type system in order to avoid bad recursion in a call-by-value setting. A separate compilation schema for CMS v has been also investigated by means of a translation down to a call-by-value λ-calculus λ B extended with a non-standard let rec construct, inspired by the calculus defined in [Bou02]. Like CMS do , both λ B and the calculus of Boudol serve as semantic basis for programming languages supporting mixins and introduce non-standard constructs for recursion which can produce terms having an undefined semantics.…”
Section: Related Workmentioning
confidence: 99%
“…Like CMS do , both λ B and the calculus of Boudol serve as semantic basis for programming languages supporting mixins and introduce non-standard constructs for recursion which can produce terms having an undefined semantics. However, λ B does not have imperative features, whereas the calculus in [Bou02] does not allow recursion in the presence of side-effects. For instance, in CMS do the term mdo (x ⇐ new(x); ret(x)) has a well-defined semantics, whereas the corresponding translated term let rec x = ref x in x in Boudol's calculus is not well-typed; indeed, the evaluation of this term gets stuck.…”
Section: Related Workmentioning
confidence: 99%
See 2 more Smart Citations