an overview of the scala programming language .
Featherweight Java: a minimal core calculus for Java and GJ