Skip to main navigation Skip to search Skip to main content

Deconfined intersection types in java

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

We show how Java intersection types can be freed from their confinement in type casts, in such a way that the proposed Java extension is safe and fully compatible with the current language. To this aim, we exploit two calculi which formalise the simple Java core and the extended language, respectively. Namely, the second calculus extends the first one by allowing an intersection type to be used anywhere in place of a nominal type. We define a translation algorithm, compiling programs of the extended language into programs of the former calculus. The key point is the interaction between λ-expressions and intersection types, that adds safe expressiveness while being the crucial matter in the translation. We prove that the translation preserves typing and semantics. Thus, typed programs in the proposed extension are translated to typed Java programs. Moreover, semantics of translated programs coincides with the one of the source programs.

Original languageEnglish
Title of host publicationRecent Developments in the Design and Implementation of Programming Languages - Gabbrielli's Festschrift
EditorsFrank S. de Boer, Jacopo Mauro
PublisherSchloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing
ISBN (Electronic)9783959771719
DOIs
Publication statusPublished - 1 Nov 2020
Event2020 Recent Developments in the Design and Implementation of Programming Languages - Gabbrielli's Festschrift - Bologna, Italy
Duration: 27 Nov 2020 → …

Publication series

NameOpenAccess Series in Informatics
Volume86
ISSN (Print)2190-6807

Conference

Conference2020 Recent Developments in the Design and Implementation of Programming Languages - Gabbrielli's Festschrift
Country/TerritoryItaly
CityBologna
Period27/11/20 → …

Keywords

  • Featherweight Java
  • Intersection Types
  • Lambda Expressions

Fingerprint

Dive into the research topics of 'Deconfined intersection types in java'. Together they form a unique fingerprint.

Cite this