Towards a Java Subtyping Operad (extended version)

06/01/2017
by   Moez A. AbdelGawad, et al.
0

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: covariant subtyping, contravariant subtyping and invariant subtyping. Supporting bounded type variables also adds to the complexity of the subtyping relation in Java and in other generic nominally-typed OO languages such as C# and Scala. In this paper we explore defining an operad to model the construction of the subtyping relation in Java and in similar generic nominally-typed OO programming languages. Operads, from category theory, are frequently used to model self-similar phenomena. The Java subtyping operad, we hope, will shed more light on understanding the type systems of generic nominally-typed OO languages.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/01/2017

Towards a Java Subtyping Operad

The subtyping relation in Java exhibits self-similarity. The self-simila...
research
05/18/2018

Java Subtyping as an Infinite Self-Similar Partial Graph Product

Due to supporting variance annotations, such as wildcard types, the subt...
research
05/23/2019

Java Generics: An Order-Theoretic Approach (Detailed Outline)

Generics have been added to Java so as to increase the expressiveness of...
research
05/18/2018

Towards Taming Java Wildcards and Extending Java with Interval Types

Of the complex features of generic nominally-typed OO type systems, wild...
research
09/23/2017

Category Theory for Modeling OOP

An outline and summary of four new potential applications of category th...
research
05/23/2016

The bitwise operations in relation to obtaining Latin squares

The main thrust of the article is to provide interesting example, useful...
research
07/30/2021

The bitwise operations in relation to the concept of set

We contemplate this article to help the teachers of programming in his a...

Please sign up or login with your details

Forgot password? Click here to reset