Milan, I like your writing style from these chapters. I’m looking forward to the book’s publication. I did see a technical error, though. In the section introducing integers, you write:
Exceeding the permissible range of a variable results in an overflow. In that event, the value of the variable is set to infinity of either sign, -Inf or +Inf.
Unless gfortran has a feature I am not aware of (and a cursory web search says it doesn’t), integers don’t have infinities - typically if you overflow an integer, you get the low-order bits of the result, unless the compiler supports integer overflow checking and that is enabled, in which case you get a run-time error.
This statement would generally be true of reals, assuming IEEE floating point (not universal). One must take care not to conflate features of a specific implementation or platform with that of the language.