declaring multimethods [Was: Re: PEP 318]
Michele Simionato
michele.simionato at poste.it
Thu Mar 25 03:29:18 EST 2004
Skip Montanaro <skip at pobox.com> wrote in message news:<mailman.348.1080142389.742.python-list at python.org>...
> Still, I'd like to follow this thread just a little further, mostly just to
> see where it goes. <snip>
As Ville Vainio pointed out in another thread, maybe the source of
the confusion is that we have in mind CLOS-style multimethods,
implemented as generic functions *outside* classes.
Here is an example, taken from the Goops manual,
http://www.gnu.org/software/guile/docs/goops/Methods.html#Methods
(define-method (+ (x <string>) (y <string>))
(string-append x y))
(+ 1 2) --> 3
(+ "abc" "de") --> "abcde"
In Guile "+" is a generic function and the define-method macro just
adds another method to the list of methods known by "+".
Yes, there is a little ambiguity since typically "def" means "define"
and not "add to the definition", but since practicality beats purity ...
Michele
More information about the Python-list
mailing list