Hi, Нуёпт <[email protected]> writes:
> (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) You should add “#:use-module (module a)” here. Otherwise... > (define-class <b> () x y ) > > (define-method (inside? (b <b>)) "class b" ) ... this ‘define-method’ actually creates a new generic function called ‘inside?’, with one method, but this generic function is separate from the one exported by ‘(module a)’. Thanks, Ludo’.
