6 citations · 35 across the 25 of their papers we have counts for
19 papers · 1 filter
Java Generics: An Order-Theoretic Approach (Abridged Outline)
Moez A. AbdelGawad
The mathematical modeling of generics in Java and other similar nominally-typed object-oriented programming languages is a challenge. In this short paper we present the outline of…
Using Category Theory in Modeling Generics in OOP (Outline)
Moez A. AbdelGawad
Modeling generics in object-oriented programming languages such as Java and C# is a challenge. Recently we proposed a new order-theoretic approach to modeling generics. Given the s…
Java Generics: An Order-Theoretic Approach (Detailed Outline)
Moez A. AbdelGawad
Generics have been added to Java so as to increase the expressiveness of its type system. Generics in Java, however, include some features---such as Java wildcards, -bounded gen…
Doubly F-Bounded Generics
Moez A. AbdelGawad
In this paper we suggest how f-bounded generics in nominally-typed OOP can be extended to the more general notion we call `doubly f-bounded generics' and we suggest how doubly f-bo…
Towards Taming Java Wildcards and Extending Java with Interval Types
Moez A. AbdelGawad
Of the complex features of generic nominally-typed OO type systems, wildcard types and variance annotations are probably the hardest to fully grasp. As demonstrated when adding clo…
Partial Cartesian Graph Product
Moez A. AbdelGawad
In this paper we define a new product-like binary operation on directed graphs, and we discuss some of its properties. We also briefly discuss its application in constructing the s…
Java Subtyping as an Infinite Self-Similar Partial Graph Product
Moez A. AbdelGawad
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 in…
NOOP: A Domain-Theoretic Model of Nominally-Typed OOP
Moez AbdelGawad, Robert Cartwright
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 anal…
Object-Oriented Theorem Proving (OOTP): First Thoughts
Moez A. AbdelGawad
Automatic (i.e., computer-assisted) theorem proving (ATP) can come in many flavors. This document presents early steps in our effort towards defining object-oriented theorem provin…
Novel Uses of Category Theory in Modeling OOP
Moez A. AbdelGawad
An outline and summary of four new potential applications of category theory to OOP research are presented. These include (1) the use of operads to model Java subtyping, (2) the us…
Towards a Java Subtyping Operad
Moez A. AbdelGawad
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,…
Towards an Accurate Mathematical Model of Generic Nominally-Typed OOP
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…
Domain Theory: An Introduction
Robert Cartwright, Rebecca Parsons, Moez AbdelGawad
This monograph is an ongoing revision of "Lectures On A Mathematical Theory of Computation" by Dana Scott. Scott's monograph uses a formulation of domains called neighborhood syste…
Why Nominal-Typing Matters in OOP
Moez A. AbdelGawad
The statements `inheritance is not subtyping' and `mainstream OO languages unnecessarily place restrictions over inheritance' have rippled as mantras through the PL research commun…
Towards Understanding Generics in Mainstream OOP
Moez A. AbdelGawad
This article reports on steps towards building a simple and accurate domain-theoretic model of generic nominally-typed OOP.
A Comparison of NOOP to Structural Domain-Theoretic Models of OOP
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…
Subtyping in Java is a Fractal
Moez A. AbdelGawad
While developing their software, professional object-oriented (OO) software developers keep in their minds an image of the subtyping relation between types in their software. The g…
Domain Theory for Modeling OOP: A Summary
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 ex…
An Overview of Nominal-Typing versus Structural-Typing in OOP
Moez A. AbdelGawad
NOOP is a mathematical model of nominally-typed OOP that proves the identification of inheritance and subtyping in mainstream nominally-typed OO programming languages and the valid…