"Neil Jerram" wrote:
>"Marco Maggi" <[EMAIL PROTECTED]> writes:
> "[EMAIL PROTECTED]" wrote:
>> I do not understand why the first solution does not work;
>>I've tried different combinations of functions but there is
>>something I am missing.
>
> Damn... it seems to work if I do not EXPORT the generic
> methods.
>
>You mean if you remove the "(export =)" line?
Yes, with the following and no EXPORT invocation
it works.
(define-macro (make-comparison-operator class name func)
`(begin
(define-method (,name (a ,class) (b ,class))
(,func (slot-ref a 'n) (slot-ref b 'n)))
(define-method (,name (a ,class) (b <real>))
(,func (slot-ref a 'n) (usable->mpfr b)))
(define-method (,name (a <real>) (b ,class))
(,func (usable->mpfr a) (slot-ref b 'n)))))
(make-comparison-operator <mpfr> = mpfr-equal?)
--
Marco Maggi
_______________________________________________
Guile-user mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/guile-user