Пакет ALEXANDRIA, по-видимому, широко используется в сообществе общего пользования. Тем не менее, единственная документация, которую я нашел, представляет собой черновик версии руководства, что приводит к нескольким вопросам:Руководство и реализация Alexandria Lisp
1) Существует ряд макросов, таких как reversef
, которые перечислены под заголовком «Conses» , но также, кажется, работают на «последовательности» в целом:
(defparameter vec (vector 1 2 3))
#(1 2 3)
(alexandria:reversef vec)
#(3 2 1)
vec
#(3 2 1)
есть некоторые технические причины они ставятся под «Conses»?
2) Есть ли способ просмотреть макросы, чтобы посмотреть, как они построены? Выполнение макроэкспозиции на них достигает стены:
(macroexpand '(alexandria:rotate vec))
(ALEXANDRIA.0.DEV:ROTATE VEC)
3) Есть ли более формальная спецификация для Александрии?
К сожалению, спасибо 'macroexpand'. – davypough
Также имел возможность использовать «alexandria: map-product» в последнее время, о чем говорится в руководстве по проекту, возвращает список, но он также может возвращать вектор. Доступна ли дополнительная документация Александрии? – davypough