vix.ing · top · new · best · stats · spec

Towards a Java Subtyping Operad

2017/06/01 by Moez A. AbdelGawad, AbdelGawad, Moez A.
Computer Science · #Advanced Software Engineering Methodologies #FOS: Computer and information sciences #Logic, programming, and type systems #Programming Languages (cs.PL) #Software Engineering Research #cs.PL

paper · pdf · doi:10.48550/arxiv.1706.00274

13 pages

openalex publication_date 2017/06/01 · arxiv created 2017/12/29 · arxiv updated 2018/01/01 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28

Abstract

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.

Related