[Python-3000] Fwd: Re: pep 3124 plans

Phillip J. Eby pje at telecommunity.com
Fri Jul 20 04:37:53 CEST 2007


FYI...  another TurboGears developer speaks up re: their generic function use.

>Date: Thu, 19 Jul 2007 20:17:23 -0400
>From: "Mark Ramm"
>To: "Phillip J. Eby"
>Subject: Re: [Python-3000] pep 3124 plans
>
>>FYI, Jonathan, the version of PEAK-Rules that's in SVN implements
>>everything that's currently in PEP 3124 except the Interface bits.
>>
>>It does not, however, implement RuleDispatch-style predicate
>>expressions, just argument-isinstance tests.  I'd hoped to have
>>predicates done this month, but it's running a couple weeks
>>behind.  After it's done, I plan to throw together a
>>RuleDispatch-style API over it, to make porting/testing easier, using
>>something like "from peak.rules import dispatch" to get a module that
>>fakes the RuleDispatch API (e.g. somefunc.when() instead of when(somefunc)).
>
>This is good news indeed.   TurboGears 2 is looking for rule based
>dispatch, and I'm very interested in PEAK Rules as an alternative to
>RD since you've pretty much deprecated RD.   But an RD like interface
>on PEAK-Rules will make TG2 more API compatible, and opens up the
>possibility of moving  over in the tg 1.x line.
>
>Predicate dispatch isn't really needed for some of the things in
>TurboGears, and there are a couple of places where we went overboard
>with generic functions everywhere.   But, at the same time there are
>other places where generic functions and predicate dispatch really
>make things a lot easier to understand, and it would hurt quite a bit
>to have to to give it up.
>
>As the maintainer of tg2, my main interest is to have a viable,
>reasonably well supported, generic function implementation that we can
>use and rely on.
>
>I don't so much care that it's baked into the core language, or
>included in the standard library -- though I think those would be
>great things.  Generic functions helped me to think about problems in
>a new way, and have been a remarkably useful tool to have in my
>toolbox.
>
>--Mark Ramm



More information about the Python-3000 mailing list