• Home
  • Search
  • Union types for object-oriented programming
  • Open Access IconOpen Access
  • Cite Icon24
  • https://doi.org/10.1145/1141277.1141610Copy DOI Icon

Union types for object-oriented programming

  • Apr 23, 2006
  • Atsushi Igarashi +1 more
Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

We propose union types for statically typed class-based object-oriented languages as a means to enhance the flexibility of subtyping. As its name suggests, a union type can be considered a set union of instances of several types and behaves as their least common supertype. It also plays the role of an interface that 'factors out' commonality of given types---fields of the same name and methods with similar signatures. Union types can be useful for implementing heterogeneous collections and for grouping independently developed classes with similar interfaces, which has been considered difficult in languages like Java. To rigorously show the safety of union types, we formalize them on top of Featherweight Java and prove that the type system is sound.

Similar Papers
  • Research Article
  • Citations30

Union, intersection and refinement types and reasoning about type disjointness for secure protocol implementations

  • Feb 20, 2014
  • Journal of Computer Security
  • Michael Backes +2
  • Book Chapter
  • Citations8

An Extended Type System for OCL Supporting Templates and Transformations

  • Jan 01, 2005
  • Marcel Kyas
  • Research Article
  • Citations4

Typed path polymorphism

  • Mar 02, 2019
  • Theoretical Computer Science
  • Mauricio Ayala-Rincón +3
  • Research Article
  • Citations4

Non-idempotent types for classical calculi in natural deduction style

  • Jan 14, 2020
  • Logical Methods in Computer Science
  • Delia Kesner +1
  • Research Article
  • Citations5

A traversal-based algorithm for higher-order model checking

  • Sep 09, 2012
  • ACM SIGPLAN Notices
  • Robin P Neatherway +2
  • Research Article
  • Citations3

On declarative rewriting for sound and complete union, intersection and negation types

  • Jan 30, 2019
  • Journal of Computer Languages
  • David J Pearce
  • Supplementary Content

Co-Contextual Type Systems: Contextless Deductive Reasoning for Correct Incremental Type Checking

  • Mar 02, 2020
  • TUbilio (Technical University of Darmstadt)
  • Edlira Kuci
  • Research Article
  • Citations1

Semantic subtyping for imperative object-oriented languages

  • Oct 19, 2016
  • ACM SIGPLAN Notices
  • Davide Ancona +1
  • Research Article
  • Citations57

FeatherTrait

  • Mar 01, 2008
  • ACM Transactions on Programming Languages and Systems
  • Luigi Liquori +1
  • PDF
  • Research Article
  • Citations44

Gradual typing: a new perspective

  • Jan 02, 2019
  • Proceedings of the ACM on Programming Languages
  • Giuseppe Castagna +3
  • Research Article
  • Citations43

Set-theoretic foundation of parametric polymorphism and subtyping

  • Sep 18, 2011
  • ACM SIGPLAN Notices
  • Giuseppe Castagna +1
  • Conference Article
  • Citations66

Gradual typing for first-class classes

  • Oct 19, 2012
  • Asumu Takikawa +4
  • Conference Article
  • Citations1

Type-based Enforcement of Infinitary Trace Properties for Java

  • Sep 06, 2021
  • Serdar Erbatur +2
  • Conference Article
  • Citations7

Type safe dynamic object delegation in class-based languages

  • Sep 09, 2008
  • Lorenzo Bettini +1
  • Conference Article

Can we learn some PL theory?

  • Jul 16, 2018
  • Artem Pelenitsyn
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.