Towards a Java Subtyping Operad

by   Moez A. AbdelGawad, et al.
Rice University

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.


page 1

page 2

page 3

page 4


Towards a Java Subtyping Operad (extended version)

The subtyping relation in Java exhibits self-similarity. The self-simila...

Java Subtyping as an Infinite Self-Similar Partial Graph Product

Due to supporting variance annotations, such as wildcard types, the subt...

Global Type Inference for Featherweight Generic Java

Java's type system mostly relies on type checking augmented with local t...

Towards Taming Java Wildcards and Extending Java with Interval Types

Of the complex features of generic nominally-typed OO type systems, wild...

The bitwise operations in relation to obtaining Latin squares

The main thrust of the article is to provide interesting example, useful...

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

Generics have been added to Java so as to increase the expressiveness of...

Groebner bases in Java with applications in computer graphics

In this paper we present a Java implementation of the algorithm that com...

Please sign up or login with your details

Forgot password? Click here to reset