An Experiential introduction to principles of programming languages jor Java programmers - Rajan, Hridesh (The MIT Press, 2022)