общий 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)

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

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

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