Data di Pubblicazione:
2023
Abstract:
We present FJ&★, a new core calculus that extends Featherweight Java (FJ) with interfaces, -expressions, intersection types and a form of dynamic type. Intersection types can be used anywhere, in particular to specify target types of -expressions. The dynamic type is exploited to specify parts of the class tables and programs we want to exclude temporarily from static typing. Our main result is the gradual guarantee, which says that if a program is well typed in a class table, then replacing type annotations (from the program and from the class table) with the dynamic type always produces a program that is still well typed in the obtained class table. Furthermore, if a typed program evaluates to a value in a class table, then replacing type annotations with dynamic types always produces a program that evaluates to the same value in the obtained class table.
Tipologia CRIS:
04A-Conference paper in volume
Keywords:
Lambda expressions, Featherweight Java, Gradual Typing, Intersection Types
Elenco autori:
Pedro Ângelo, Viviana Bono, Mariangiola Dezani-Ciancaglini, Mário Florido
Link alla scheda completa:
Titolo del libro:
Proceedings of the 25th ACM International Workshop on Formal Techniques for Java-like Programs, FTfJP 2023, Seattle, WA, USA, 18 July 2023