Actions
  • shareshare
  • link
  • cite
  • add
Powered by OpenAIRE graph
Found an issue? Give us feedback
add
auto_awesome_motion View all 9 versions
Publication . Conference object . Article . Part of book or chapter of book . 2020

SFJ: an Implementation of Semantic Featherweight Java

Artem Usov; Ornela Dardha;
Open Access
English
Abstract

Part 4: Communications: Types and Implementations; International audience; 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.

Subjects by Vocabulary

ACM Computing Classification System: TheoryofComputation_LOGICSANDMEANINGSOFPROGRAMS Software_PROGRAMMINGLANGUAGES Software_PROGRAMMINGTECHNIQUES TheoryofComputation_MATHEMATICALLOGICANDFORMALLANGUAGES

Microsoft Academic Graph classification: Natural language processing computer.software_genre computer Java computer.programming_language Object-oriented programming Artificial intelligence business.industry business Interpretation (logic) Subtyping Computer science Type theory Inclusion (education)

arXiv: Computer Science::Programming Languages Quantitative Biology::Genomics Computer Science::Logic in Computer Science Computer Science::Computation and Language (Computational Linguistics and Natural Language and Speech Processing)

Subjects

nominal subtyping, structural subtyping, Semantic Featherweight Java, object-oriented languages, boolean types, Type theory, [INFO]Computer Science [cs], [INFO.INFO-NI]Computer Science [cs]/Networking and Internet Architecture [cs.NI], Article, [INFO] Computer Science [cs], [INFO.INFO-NI] Computer Science [cs]/Networking and Internet Architecture [cs.NI]

Related Organizations
Powered by OpenAIRE graph
Found an issue? Give us feedback
Funded by
UKRI| From Data Types to Session Types---A Basis for Concurrency and Distribution
Project
  • Funder: UK Research and Innovation (UKRI)
  • Project Code: EP/K034413/1
  • Funding stream: EPSRC
,
EC| BEHAPI
Project
BEHAPI
Behavioural Application Program Interfaces
  • Funder: European Commission (EC)
  • Project Code: 778233
  • Funding stream: H2020 | MSCA-RISE
Validated by funder
Related to Research communities
Digital Humanities and Cultural Heritage
Download fromView all 6 sources
lock_open
ZENODO
Conference object . 2020
Data sources: ZENODO
moresidebar