English
Related papers

Related papers: An Overview of Nominal-Typing versus Structural-Ty…

200 papers

The majority of industrial-strength object-oriented (OO) software is written using nominally-typed OO programming languages. Extant domain-theoretic models of OOP developed to analyze OO type systems miss, however, a crucial feature of…

Programming Languages · Computer Science 2018-01-23 Moez AbdelGawad , Robert Cartwright

The statements `inheritance is not subtyping' and `mainstream OO languages unnecessarily place restrictions over inheritance' have rippled as mantras through the PL research community for years. Many mainstream OO developers and OO language…

Programming Languages · Computer Science 2018-01-01 Moez A. AbdelGawad

Mainstream object-oriented programming languages such as Java, C#, C++ and Scala are all almost entirely nominally-typed. NOOP is a recently developed domain-theoretic model of OOP that was designed to include full nominal information found…

Programming Languages · Computer Science 2018-01-01 Moez A. AbdelGawad

Domain theory is `a mathematical theory that serves as a foundation for the semantics of programming languages'. Domains form the basis of a theory of partial information, which extends the familiar notion of partial function to encompass a…

Programming Languages · Computer Science 2014-07-01 Moez A. AbdelGawad

The construction of GNOOP as a domain-theoretic model of generic nominally-typed OOP is currently underway. This extended abstract presents the concepts of `nominal intervals' and `full generication' that are likely to help in building…

Programming Languages · Computer Science 2016-11-01 Moez A. AbdelGawad

Recently we presented a concise survey of the formulation of the induction and coinduction principles, and some concepts related to them, in programming languages type theory and four other mathematical disciplines. The presentation in type…

Logic in Computer Science · Computer Science 2019-03-14 Moez A. AbdelGawad

There are many ways to represent the syntax of a language with binders. In particular, nominal frameworks are metalanguages that feature (among others) name abstraction types, which can be used to specify the type of binders. The resulting…

Logic in Computer Science · Computer Science 2026-05-25 Antoine Van Muylder , Andreas Nuyts , Dominique Devriese

This article reports on steps towards building a simple and accurate domain-theoretic model of generic nominally-typed OOP.

Programming Languages · Computer Science 2018-01-01 Moez A. AbdelGawad

The Dependent Object Types (DOT) calculus incorporates concepts from functional languages (e.g. modules) with traditional object-oriented features (e.g. objects, subtyping) to achieve greater expressivity (e.g. F-bounded polymorphism).…

Programming Languages · Computer Science 2025-10-27 Yu Xiang Zhu , Amos Robinson , Sophia Roshal , Timothy Mou , Julian Mackay , Jonathan Aldrich , Alex Potanin

Due to supporting variance annotations, such as wildcard types, the subtyping relation in Java and other generic nominally-typed OO programming languages is both interesting and intricate. In these languages, the subtyping relation between…

Programming Languages · Computer Science 2018-07-17 Moez A. AbdelGawad

Object-oriented programming (OOP) is aimed at describing the structure and behaviour of objects by hiding the mechanism of their representation and access in primitive references. In this article we describe an approach, called…

Programming Languages · Computer Science 2010-09-28 Alexandr Savinov

Nominal logic is an extension of first-order logic which provides a simple foundation for formalizing and reasoning about abstract syntax modulo consistent renaming of bound names (that is, alpha-equivalence). This article investigates…

Programming Languages · Computer Science 2008-09-15 James Cheney , Christian Urban

Semantic subtyping is an approach to define subtyping relations for type systems featuring union and intersection type connectives. It has been studied only for strict languages, and it is unsound for non-strict semantics. In this work, we…

Programming Languages · Computer Science 2021-11-15 Tommaso Petrucciani , Giuseppe Castagna , Davide Ancona , Elena Zucca

Semantic subtyping enables simple, set-theoretical reasoning about types by interpreting a type as the set of its values. Previously, semantic subtyping has been studied primarily in the context of statically typed languages with structural…

Programming Languages · Computer Science 2019-12-19 Julia Belyakova

The subtyping relation in Java exhibits self-similarity. The self-similarity in Java subtyping is interesting and intricate due to the existence of wildcard types and, accordingly, the existence of three subtyping rules for generic types:…

Programming Languages · Computer Science 2018-01-01 Moez A. AbdelGawad

Typology is a subfield of linguistics that focuses on the study and classification of languages based on their structural features. Unlike genealogical classification, which examines the historical relationships between languages, typology…

Computation and Language · Computer Science 2025-04-30 Gerhard Jäger

Operational semantics has established itself as a flexible but rigorous means to describe the meaning of programming languages. Oftentimes, it is felt necessary to keep a semantics small, for example to facilitate its use for model checking…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-03-17 Benjamin Morandi , Sebastian Nanz , Bertrand Meyer

OWLOOP is an Application Programming Interface (API) for using the Ontology Web Language (OWL) by the means of Object-Oriented Programming (OOP). It is common to design software architectures using the OOP paradigm for increasing their…

Artificial Intelligence · Computer Science 2022-01-03 Luca Buoncompagni , Syed Yusha Kareem , Fulvio Mastrogiovanni

We study nominal recursors from the literature on syntax with bindings and compare them with respect to expressiveness. The term "nominal" refers to the fact that these recursors operate on a syntax representation where the names of bound…

Logic in Computer Science · Computer Science 2023-11-15 Andrei Popescu

Nominal sets provide a foundation for reasoning about names. They are used primarily in syntax with binders, but also, e.g., to model automata over infinite alphabets. In this paper, nominal sets are related to nominal renaming sets, which…

Logic in Computer Science · Computer Science 2019-06-04 Joshua Moerman , Jurriaan Rot
‹ Prev 1 2 3 10 Next ›