Hello, Type Systems! - Introduction to Featherweight Java
Learn You a Frege for Great Good!
Frege, What a Non-strict Language