общий lisp: значение слота для структур defstruct

В общем, что я могу использовать для доступа к слоту структуры, используя имя / символ слота?

Что я хочу это

(defstruct point (x 0) (y 0))    
(defmacro -> (struct slot) `(slot-value ,struct ,slot))

(setf p (make-point))
(setf (slot-value p 'x) 1)
(setf (-> p 'y) 2)

Я использую clzure cl, и в clozure cl это работает. Однако, AFAIK, это нестандартное поведение (эквивалентно «неопределенному поведению» C ++). Я не планирую переходить на другую реализацию CL, поэтому я должен продолжать использоватьslot-value для конструкций, или есть лучший способ сделать это?

Ответы на вопрос(1)

Ваш ответ на вопрос