[The] structure of typed programming languages - Schmidt, Klaus-Dieter (The MIT Press, 1994)