Calling call//1 makes DCG nonfunctional? (+ "difference list" in DCGs vs. "difference list" for appending)

You are taking parts of this out of context, you really need to read the chapter as a whole. In other words this is not a reference book it is a book for reading and learning.

Yes I know … but with apologies, it’s just wrong to use Lisp that way. No. Non. Nyet. And Lisp is not imperative. For imperative style, there is Pascal (as the author correctly says).

I suppose nobody wrote up anything about the array diagrams because, well, they are just array diagrams as we are producing all the time. Possibly more unusual in 1981 than today. And it’s just O’Keefe who calls them “Reynolds diagrams”, so they cannot be found under that name.

I didn’t find my softcover copy of Gries’ book, but here is the page:

Array-Diagram-from-Gries-Science-of-Programming-1981.png