Pierce

Types and Programming Languages - Cambridge MIT Press 2002

9780262256810