"Marco Maggi" <[EMAIL PROTECTED]> writes:
> Ciao,
>
> when I define a generic function that accepts a procedure
> or generic function as parameter I have to define two
> identical functions:
>
> (define-method (map (p <procedure>) ...
> (define-method (map (p <generic>) ...
>
> is there a base class for <procedure> and <generic>?
Here's how you can find out:
[EMAIL PROTECTED]:~$ guile -q
guile> (use-modules (oop goops))
guile> (apropos "class-preced")
(oop goops): class-precedence-list #<primitive-procedure
class-precedence-list>
guile> (class-precedence-list <procedure>)
(#<<procedure-class> <procedure> 4031bce0> #<<class> <applicable> 4031d4c0>
#<<class> <top> 4031ff40>)
guile> (class-precedence-list <generic>)
(#<<entity-class> <generic> 4031d1c0> #<<entity-class> <entity> 4031d3e0>
#<<class> <object> 4031fe80> #<<class> <applicable> 4031d4c0> #<<class> <top>
4031ff40>)
guile>
So yes, it seems there is a common base class, <applicable>.
Regards,
Neil
_______________________________________________
Guile-user mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/guile-user