[Python-Dev] Partial function application 'from the right'
Scott David Daniels
Scott.Daniels at Acm.Org
Fri Jan 30 18:33:15 CET 2009
scav at blueyonder.co.uk wrote:
> Hi all,
>
>> On Thu, Jan 29, 2009 at 6:12 AM, Ben North <ben at redfrontdoor.org> wrote:
>>> I find 'functools.partial' useful, but occasionally I'm unable to use it
>>> because it lacks a 'from the right' version.
> -1
>
> For me, the main objection to a partial that places
> its stored positional arguments from the right is
> that you don't know which positions those arguments
> will actually occupy until the partial is called.
Certainly this interacts in a magical way with keyword args.
That definitional problem is the reason there was no curry_right
in the original recipe that was the basis of the first partial.
If you have:
def button(root, position, action=None, text='*', color=None):
...
...
blue_button = partial(button, my_root, color=(0,0,1))
Should partial_right(blue_button, 'red') change the color or the text?
It is computationally hard to do that (may have to chase chains of
**kwarg-passing functions), but even hard to document.
So, I'd avoid it.
--Scott David Daniels
Scott.Daniels at Acm.Org
More information about the Python-Dev
mailing list