In an attempt to build a deeper understanding of the general Lisp tools, I found myself struggling with reading documentation. Namely, it is difficult to understand how the use of the macro will look.
For example, consider this :
do ({var | (var [init-form [step-form]])}*) (end-test-form result-form*) declaration* {tag | statement}*
How to interpret parentheses? Do parentheses match a ()
Lisp list? What is a vertical bar? Braces? Star?
I can mainly read Unix man pages and understand their syntax well; however, it seems that something completely different is happening here.
source
share