为了更深入地了解Common Lisp的工具,我在阅读文档时遇到了困难。特别是,在理解所涉及宏的用法时很难理解。
例如,考虑这个:
do ({var | (var [init-form [step-form]])}*) (end-test-form result-form*) declaration* {tag | statement}*
如何解释括号?圆括号()
是否对应于Lisp列表?竖线是什么?花括号?星号?
我可以大多数情况下读Unix手册并且非常熟悉它们的语法;但是,在这里似乎发生了完全不同的事情。