【发布时间】:2020-03-19 01:03:09
【问题描述】:
我最近使用了 cl-ppcre 包,我很好奇他们如何优化这个包,因为我想学习优化 common lisp。我注意到他们在声明表达式中经常使用 Sharpsign Dot,例如 here。优化设置为here。
他们为什么这样写?有什么好处吗?还是有什么规则让他们去做?
更新: 我跑了
(defvar *b* '(optimize speed))
(pprint (macroexpand-1 '(declaim *b*)))
(pprint (macroexpand-1 '(declaim #.*b*))) ;; => this one is right
那么,#. 会在宏调用之前评估值吗?喜欢它首先评估值并在宏参数中替换它。
【问题讨论】:
标签: lisp common-lisp reader