En essayant de me familiariser davantage avec les outils de Common Lisp, je me suis retrouvé en difficulté lors de la lecture de la documentation. En effet, il est difficile de comprendre à quoi ressemble l'utilisation de la macro en question.
Par exemple, considérez ce :
do ({var | (var [init-form [step-form]])}*) (end-test-form result-form*) declaration* {tag | statement}*
Comment interpréter les parenthèses ? Est-ce que les parenthèses rondes ()
correspond à une liste Lisp ? Qu'est-ce que la barre verticale ? Les accolades ? L'astérisque ?
Je suis capable de lire les pages de manuel Unix et de bien comprendre leur syntaxe, mais il semble que quelque chose de totalement différent se passe ici.