как передать gensym имени функции в общем lisp - PullRequest
0 голосов
/ 01 апреля 2020

Я использую Люцерн для создания API и экспериментирую с генерацией этих API на основе списка (это очень простые конечные точки). Проблема состоит в том, что представления, которые использует Люцерн, являются просто функциями, поэтому, если я передаю (gensym) макросу во время выполнения, имя этой функции представления просто устанавливается на (gensym) (или не удается, не помню, какие именно).

Я хотел бы динамически называть набор этих функций представления в макросе, который будет в некотором роде oop, каждый раз, когда код, который макрос также расширил, запускает функции, имеющие новое имя (поэтому, если я просто использую стандартный gensym каждый раз при запуске макроса, каждая из функций всегда будет иметь одинаковое имя и перезаписывать друг друга). Есть ли способ сделать это?

1 Ответ

1 голос
/ 01 апреля 2020

Возможно, вы захотите использовать intern для создания символов "publi c" (которые пользователи будут называть по имени) и make-symbol для "частного" символы (которые хранятся где-то).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...