Лисп: проблема с префиксом пакета в определениях макросов / функций - PullRequest
1 голос
/ 24 марта 2011

Я хочу создать макрос (или функцию), который будет содержать символы с префиксом пакета.Это возможно, только если эти пакеты уже определены.Зачем?Пока я определил пакеты к моменту вызова макроса / функции, почему возникает проблема, если они не определены при определении макроса / функции?

Причина, по которой я хочу, заключается в том, что я хочучтобы в моем файле инициализации были удобные функции для запуска и остановки вещей, которые я разрабатываю в разных проектах-пакетах, но я не хочу загружать все проекты просто для того, чтобы иметь возможность определять вспомогательные функции, поскольку я разрабатываю только один проект за раз.1003 *

Ответы [ 2 ]

7 голосов
/ 24 марта 2011

Исходный код читается читателем Lisp перед оценкой (см. read ).Читатель не может интернировать символы, если пакеты еще не определены.

3 голосов
/ 24 марта 2011
(funcall (find-symbol "RENDER-SUPER-FANCY-GRAPHICS"
                      "THIS-PACKAGE-DOES-NOT-YET-EXIST")
         *standard-output* :width 1000 :height 800)
...