Покажите, как в CL вызывают «виртуальный» метод для элементов в списке.
(defparameter *source*
'((make-instance 'base) (make-instance 'derived)))
(defmethod foo (obj base) '("base"))
(defmethod foo (obj derived) '("derived"))
(defparameter *dest*
(mapcar ...))
сижу туплю, не знаю, как от одного параметра на каждой итерации mapcar перейти к двум требуемым в foo.
Я правильно думаю, что это должно быть распространённой задачей именно в таком виде при использовании ооп в CL?