November 2019
Intermediate to advanced
584 pages
17h 16m
English
By the time you’ve sorted out a complicated idea into little steps that even a stupid machine can deal with, you’ve learned something about it yourself.—Douglas Adams, Dirk Gently’s Holistic Detective Agency

The M4 macro processor is simple to use, yet hard to comprehend. The simplicity comes from the fact that it does just one thing very well. I’ll wager that you or I could write the base functionality of M4 in a C program in just a few hours. At the same time, two aspects of M4 make it rather difficult to understand immediately.
First, the exceptions introduced by special cases that M4 deals with ...