Introduction to Programming Languages
hjaem.infohttps://www-users.york.ac.uk/~ss44/joke/foot.htm
I find the above the best introduction to a programming language.
Should be called "Introduction to Functional Programming Languages"
The order is which things are covered is pretty standard for programming languages. Chapters 11 and 12 cover mutation. PLAI (https://www.plai.org/) covers similar material in a similar order.
Doesn't seem to cover any logic programming, that's a shame.