Featherweight Java: A Minimal Core Calculus for Java and GJ (2002) [pdf]
cis.upenn.edu
cis.upenn.edu
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.