Programming Languages: Principles and Paradigms - Gabbrielli, Maurizio; Martini, Simone (Undergraduate Topics in Computer Science, 2023)