[Python-3000] Generic function PEP won't make it in time
Phillip J. Eby
pje at telecommunity.com
Mon Apr 23 19:54:53 CEST 2007
At 01:37 PM 4/23/2007 -0300, Leonardo Santagada wrote:
>i've thought that the overloading in GF was more for rules like (bar >
>100) and not for diferent types. will both be suported or only the example
>that you gave?
The idea is that it should be possible for third-party implementations to
add support for more sophisticated rules. The base system would support
type annotations on arguments only -- and *maybe* interfaces.
This would be done by implementing the generic function implementation
using generic functions -- something I've already done in
PEAK-Rules. Basically, the dispatch machinery is decoupled from the
mechanism for specifying methods, and if you implement a new dispatcher
(e.g. one supporting rules like "bar>100"), you simply also register
methods with the overloading module's generic functions to support your new
dispatcher. That way, people can use your "rule" objects with @when,
@around, @before, @after, etc., without having to learn anything but how to
create and use other kinds of rules.
>ps: I didn't respond to python-3000 because I was afraid of disturbing
>serious discussions over there.
This is as serious a discussion as any; if you thought of the question,
chances are good that somebody else had this question also. Thus, I'm
cc:ing this back to the list, before any of them decide to ask me, too. :)
More information about the Python-3000