
Featherweight Java: A Minimal Core Calculus for Java and GJ (2002) [pdf] - sendilkumarn
https://www.cis.upenn.edu/~bcpierce/papers/fj-toplas.pdf
======
amir734jj
Took type system and advanced compiler last year. This paper may not look very
interesting but there are a lot of proof assistant softwares that verify
featherweight Java's type system to show that they work. This paper also shows
that there are a lot holes in Java type system even by 2002 that makes it
broken. Java's type system is probably much worse now. I think it also started
the trend of featherweight-X where you try to proof a subset of a language X
type system to show that if you take away features y,z and etc then type
system can be proven.

~~~
_old_dude_
One year later, wildcards (? extends/? super) where added and are now known to
be unsound (more holes). After that, the Java type system has not changed.

Lambdas introduced in 2014 uses a trick, lambda types are nominal types (using
interfaces) with inference sugar on top so the type system has not being
extended since 2004.

------
MaxBarraclough
See also _Java and Scala’s Type Systems are Unsound_ , discussed at
[https://news.ycombinator.com/item?id=13050491](https://news.ycombinator.com/item?id=13050491)

------
sendilkumarn
Let us erase it, box it and use it.

