During the spring festival of 2021, most of my time is spent on the SIGMOD paper revision (good luck to me:), also at the same time, I spend some time reading the note:
Felleisen, Matthias, and Matthew Flatt. “Programming languages and lambda calculi.” https://users.cs.utah.edu/~mflatt/past-courses/cs7520/public_html/s06/notes.pdf
This note presents a formal way to look at programming languages. For most programmers, like me, this way is too logical. The note’s core part is to prove the properties of languages. Readers should pay more attention to the ideas. I just scan the second half part of the notes since most of the ideas are implemented in https://github.com/kainwen/eopl.
Essentials of Programming Languages, Third Edition is a good book that covers the content in a style that not very formal. I highly recommend to read and implement the models of that book. Most of the ideas of the notes are covered there.