История изменений
Исправление KivApple, (текущая версия) :
Я тут понял в чём у меня проблема. Дело в том, что в реальном коде generic я создавал и экспортировал внутри макроса. Сначала присваивал внутри defmacro с помощью let локальной переменной значение (intern тут некоторая строка), а затем возвращал из макроса `(progn ...), в котором сначала вызывал (defgeneric ,локальная-переменная), а затем (export ',локальная-переменная). И почему-то в списке символов пакета эти методы оказываются с префиксом имя-пакета:, тогда как символы, которые я экспортировал по-обычному - нет. Внутри самого пакета с defgeneric defmethod работает нормально без двоеточий.
Исправление KivApple, :
Я тут понял в чём у меня проблема. Дело в том, что в реальном коде generic я создавал и экспортировал внутри макроса. Сначала присваивал внутри defmacro с помощью let локальной переменной значение (intern тут некоторая строка), а затем возвращал из макроса `(progn ...), в котором сначала вызывал (defgeneric ,локальная-переменная), а затем (export ,локальная-переменная). И почему-то в списке символов пакета эти методы оказываются с префиксом имя-пакета:, тогда как символы, которые я экспортировал по-обычному - нет. Внутри самого пакета с defgeneric defmethod работает нормально без двоеточий.
Исходная версия KivApple, :
Я тут понял в чём у меня проблема. Дело в том, что в реальном коде generic я создавал и экспортировал внутри макроса. Сначала присваивал внутри defmacro с помощью let локальной переменной значение (intern тут некоторая строка), а затем возвращал из макроса `(progn ...), в котором сначала вызывал (defgeneric ,локальная-переменная), а затем (export ,локальная-переменная). И почему-то в списке символов пакета эти методы оказываются с префиксом имя-пакета:, тогда как символы, которые я экспортировал по-обычному - нет.