Please tell me what's wrong with this code:
;;; first program
(define-module (my-module)
#:use-module (oop goops)
#:use-module (module a)
#:use-module (module b)
#:duplicates merge-generics
)
(display (inside? (make <a>)))(newline)
(display (inside? (make <b>)))(newline)
;;; module a
(define-module (module a)
#:use-module (oop goops)
)
(define-class <a> () x)
(define-method (inside? (a <a>)) "class a" )
(export inside?)
(export <a>)
;;; module b
(define-module (module b)
#:use-module (oop goops)
)
(define-class <b> () x y )
(define-method (inside? (b <b>)) "class b" )
;(export inside?)
(export <b>)
Such error occurred if `(export inside?)' is uncommented:
ERROR: Unbound variable: inside?
Else:
class a
ERROR: No applicable method for #<<generic> inside? (1)> in call (inside? #<<b>
94afdc0>)
I want that first program can include modules a and b, second include
a, n and p, for example, and so on, i.e. modules a, b, c... must not know about
each other, but
can provide generic methods.