Although not the most popular feature of Java's generics,
bounded wildcards have their uses.
On the negative side, bounded wildcards render type checking undecidable.
On the positive side, bounded wildcards let us encode any computation at compile time;
so, Java's type checker can recognize any recursive language.
The first part of the talk will review how bounded wildcards
are used in the implementation of Java's standard library.
The second part of the talk will review the proof that bounded wildcards
render subtype checking undecidable.
Bio:
Radu Grigore is
a lecturer at University of Kent
and an anagram of Argued Rigor.