2013
DOI: 10.1007/978-3-642-38592-6_6
|View full text |Cite
|
Sign up to set email alerts
|

Semantic Subtyping for Objects and Classes

Abstract: Abstract.We propose an integration of structural subtyping with boolean connectives and semantic subtyping to define a Java-like programming language that exploits the benefits of both techniques. Semantic subtyping is an approach to defining subtyping relation based on set-theoretic models, rather than syntactic rules. On the one hand, this approach involves some non trivial mathematical machinery in the background. On the other hand, final users of the language need not know this machinery and the resulting … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
13
0

Year Published

2016
2016
2020
2020

Publication Types

Select...
2
2
1

Relationship

3
2

Authors

Journals

citations
Cited by 5 publications
(13 citation statements)
references
References 25 publications
(22 reference statements)
0
13
0
Order By: Relevance
“…The soundness direction is mostly straightforward, as most SR rules have an immediate SD counterpart (or require one extra application of transitivity). In the case of SR NF, the induction hypothesis of the proof, NF(τ 1 ) ≤ τ 2 , and the fact that τ 1 ≤ NF(τ 1 ) according to (10), allow to conclude…”
Section: Reductive Subtypingmentioning
confidence: 96%
See 1 more Smart Citation
“…The soundness direction is mostly straightforward, as most SR rules have an immediate SD counterpart (or require one extra application of transitivity). In the case of SR NF, the induction hypothesis of the proof, NF(τ 1 ) ≤ τ 2 , and the fact that τ 1 ≤ NF(τ 1 ) according to (10), allow to conclude…”
Section: Reductive Subtypingmentioning
confidence: 96%
“…Frisch et al [11] presented decidable semantic subtyping for a language with functions, products, and boolean combinators (union, intersection, negation); the decision procedure for τ 1 <: τ 2 is based on checking the emptiness of τ 1 \τ 2 . Dardha et al [10] adopted semantic subtyping to objects with structural types, and Ancona and Corradi [2] proposed decidable semantic subtyping for mutable records. Unlike these works, we are interested in applying semantic reasoning to a dynamic language with nominal types.…”
Section: Related Workmentioning
confidence: 99%
“…In semantic subtyping one constructs a set-theoretic model and an interpretation of types as sets in that model; two types are then considered to be subtypes whenever their corresponding sets in the model are subsets. The challenge, then, is to show that this subtype relation derived from the model is decidable for the type system at hand, and there has been impressive work achieving this for various type systems [Ancona and Corradi 2016;Castagna and Xu 2011;Dardha et al 2013;Frisch et al 2002Frisch et al , 2008Hosoya and Pierce 2003]. In particular, the work on semantic subtyping provides powerful reasoning for union and intersection types due to their obvious correspondence to unions and intersections of sets, and is able to recognize subtypings such as the above example regarding Julia's union and covariant tuple types.…”
Section: Semantic Subtypingmentioning
confidence: 99%
“…In the latter, subtyping relation is established only by analysing the structure of a class, i.e., its fields and methods: class (or interface) A is a subtype of class (or interface) B if and only if the fields and methods of A are a superset of the fields and methods of B, and their types in A are subtypes of their types in B. On the other hand, in [32] the authors integrate both the nominal and the structural subtyping in Featherweight Java-like calculus.…”
Section: Subtyping Relationmentioning
confidence: 99%