http://mop.lisp.se/concepts.html говорит:
Реализация может свободно добавлять дополнительные свойства в спецификацию канонизированного слота при условии, что они не являются символами, доступными в пакете common-lisp-user или экспортируемыми любым пакетом, определенным в стандарте ANSI Common Lisp.
с примером:
(defclass sst (plane)
((mach mag-step 2
locator sst-mach
locator mach-location
:reader mach-speed
:reader mach))
(:metaclass faster-class)
(another-option foo bar))
Но когда я пытаюсь:
(defclass a () ((x my-option 123)))
SBCL компилирует его с ошибкой:
Недопустимый аргумент инициализации: MY-OPTION в вызове класса
SB-MOP:STANDARD-DIRECT-SLOT-DEFINITION>.
[Условие типа SB-PCL::INITARG-ERROR]
Итак, вопрос. Как я могу добавить дополнительные свойства (например, «my-option») в определение слота?