This reminded me of the Programming Paradigms Poster:
https://www.info.ucl.ac.be/~pvr/paradigmsDIAGRAMeng108.jpg
I.e. the book starts with a basic language and extends it in different ways to gain more espressive potential, i.e. HOFs, lazyness, state, different concurrency primitives, logic programming, constraint solving etc.
It's a big book, but it's wonderful.