English

Towards a Java Subtyping Operad

Programming Languages 2018-01-01 v2

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.

Keywords

Cite

@article{arxiv.1706.00274,
  title  = {Towards a Java Subtyping Operad},
  author = {Moez A. AbdelGawad},
  journal= {arXiv preprint arXiv:1706.00274},
  year   = {2018}
}

Comments

13 pages