ALEXANDRIA软件包似乎广泛用于common-lisp社区。但是,我发现的唯一文档是手册的草稿版本,这导致了几个问题:
1)有许多宏,如reversef
,列在" Conses"标题,但似乎也适用于"序列"总的来说:
(defparameter vec (vector 1 2 3))
#(1 2 3)
(alexandria:reversef vec)
#(3 2 1)
vec
#(3 2 1)
是否存在某些技术原因?#34; Conses"?
2)有没有办法查看宏以查看它们是如何构建的?对它们进行宏扩展就到了墙上:
(macroexpand '(alexandria:rotate vec))
(ALEXANDRIA.0.DEV:ROTATE VEC)
3)亚历山大港有更正式的规格吗?
答案 0 :(得分:3)
REVERSEF
应列在序列下。
ROTATE
不是宏。它是功能。使用macroexpand
对函数没有影响,因为它不是宏。