В моем проекте у меня есть несколько классов goops, определенных в разных модулях (следовательно, в разных файлах).Я не могу понять, как правильно экспортировать класс (и его аксессуары) из модуля.
Это то, что я пытался.Я также пытался каждый раз экспортировать "slot-of-a", как мне было интересно в комментариях, но это не сработало.
;;;module-a.scm
(define-module (module-a)
#:use-module (oop goops)
#:export (<class-a>)) ;Have I to export "slot-of-a" too?
(define-class <class-a> ()
(slot-of-a #:accessor slot-of-a))
;;;module-b.scm
(define-module (module-b)
#:use-module (oop goops)
#:use-module (module-a)
#:export (<class-b>)) ;Have I to export "slot-of-a" here too?
(define-class <class-b> (<class-a>))
;;;main.scm
(use-modules (oop goops) (module-b))
(define obj (make <class-b>))
(set! (slot-of-a obj) 'foo) ;This causes an error
Однако я нахожу действительно неловким необходимость экспортировать все методы / слоты/ аксессуары отдельно, я ожидал бы иметь возможность экспортировать весь класс.