Есть ли стандартный способ создать переходный класс в CLOS; то есть класс, который может быть собран после того, как все его экземпляры мертвы?
В SBCL я попробовал (setf test (defclass #:foo () ()))
, т.е. использовал неинтернированный символ, предполагая, что обычно это будет только имя класса, из-за которого класс сохраняется сборщиком мусора, но установка функции завершения SBCL для этого класса, а затем установка символа значение TEST в NIL показывает, что класс никогда не подвергается сборке мусора, независимо от того, сколько раз я запускаю (gc :full t)
. Что заставляет меня задуматься, возможно ли это, и если да, то как.