Downloads provided by UsageCounts
There are two approaches to defining subtyping relations: the syntactic and the semantic approach. In semantic subtyping, one defines a model of the language and an interpretation of types as subsets of this model. Subtyping is defined as inclusion of subsets denoting types. An orthogonal subtyping question, typical of object-oriented languages, is the nominal versus the structural subtyping. Dardha et al. [11, 12] defined boolean types and semantic subtyping for Featherweight Java (FJ) and integrated both nominal and structural subtyping, thus exploiting the benefits of both approaches. However, these benefits were illustrated only at a theoretical level, but not exploited practically. We present SFJ—Semantic Featherweight Java, an implementation of FJ which features boolean types, semantic subtyping and integrates nominal as well as structural subtyping. The benefits of SFJ, illustrated in the paper and the accompanying video (with audio/subtitles) [27], show how static type-checking of boolean types and semantic subtyping gives higher guarantees of program correctness, more flexibility and compactness of program writing.
Type theory, [INFO.INFO-NI] Computer Science [cs]/Networking and Internet Architecture [cs.NI], nominal subtyping, structural subtyping, Object-oriented languages, [INFO] Computer Science [cs], Article, boolean types, Semantic Featherweight Java, Nominal subtyping, object-oriented languages, Structural subtyping, Boolean types
Type theory, [INFO.INFO-NI] Computer Science [cs]/Networking and Internet Architecture [cs.NI], nominal subtyping, structural subtyping, Object-oriented languages, [INFO] Computer Science [cs], Article, boolean types, Semantic Featherweight Java, Nominal subtyping, object-oriented languages, Structural subtyping, Boolean types
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
| views | 2 | |
| downloads | 4 |

Views provided by UsageCounts
Downloads provided by UsageCounts