(defmethod cart-x ((p polar)) (* (radius p) (cos (angle p)))) (defmethod cart-y ((p polar)) (* (radius p) (sin (angle p)))) (cart-x p) => 7.0710678 (cart-y p) => 7.0710678 (defgeneric to-cart (arg) (:documentation "Преобразование аргумента в декартову систему.") (:method ((c cart)) c) (:method ((p polar)) (make-instance 'cart :x (cart-x p) :y (cart-y p))) )