In Chapter 7 I briefly discussed the extended
LOOP macro. As I mentioned then,
LOOP provides what is essentially a special-purpose language just for writing iteration constructs.
This might seem like a lot of bother—inventing a whole language just for writing loops. But if you think about the ways loops are used in programs, it actually makes a fair bit of sense. Any program of any size at all will contain quite a number of loops. And while they won't all be the same, they won't all be unique either; patterns will emerge, particularly if you include the code immediately preceding and following the loops—patterns of how things are set up for the loop, patterns in what gets done in the loop proper, and patterns in ...