Global Type Inference for Featherweight Generic Java

05/18/2022
by   Andreas Stadelmeier, et al.
0

Java's type system mostly relies on type checking augmented with local type inference to improve programmer convenience. We study global type inference for Featherweight Generic Java (FGJ), a functional Java core language. Given generic class headers and field specifications, our inference algorithm infers all method types if classes do not make use of polymorphic recursion. The algorithm is constraint-based and improves on prior work in several respects. Despite the restricted setting, global type inference for FGJ is NP-complete.

READ FULL TEXT

page 1

page 3

page 17

page 23

page 25

page 27

page 29

page 31

research
06/01/2017

Towards a Java Subtyping Operad

The subtyping relation in Java exhibits self-similarity. The self-simila...
research
02/15/2023

Multi-graded Featherweight Java

Resource-aware type systems statically approximate not only the expected...
research
07/20/2022

Constraint-based type inference for FreezeML

FreezeML is a new approach to first-class polymorphic type inference tha...
research
07/28/2023

Error Localization for Sequential Effect Systems (Extended Version)

We describe a new concrete approach to giving predictable error location...
research
01/23/2018

Enforcing Programming Guidelines with Region Types and Effects

We present in this paper a new type and effect system for Java which can...
research
01/15/2018

Java & Lambda: a Featherweight Story

We present FJ&Lambda, a new core calculus that extends Featherweight Jav...
research
05/18/2018

Towards Taming Java Wildcards and Extending Java with Interval Types

Of the complex features of generic nominally-typed OO type systems, wild...

Please sign up or login with your details

Forgot password? Click here to reset