In trying to gather a deeper familiarity with Common Lisp's tools, I found myself struggling when reading the documentation. Namely, it is difficult to comprehend what the usage of the macro in question would look like.
For instance, consider this:
do ({var | (var [init-form [step-form]])}*) (end-test-form result-form*) declaration* {tag | statement}*
How does one interpret the parentheses? Do the round parentheses ()
correspond to a Lisp list? What is the vertical bar? Curly braces? Asterisk?
I can mostly read the Unix man-pages and understand their syntax well; however, it seems that something entirely different is going on here.