[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GOOPS, generics and module system
From: |
Ludovic Courtès |
Subject: |
Re: GOOPS, generics and module system |
Date: |
Thu, 11 Feb 2010 16:32:26 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) |
Hi,
Нуёпт <address@hidden> 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’.