[Python-Dev] Re: What is PEP309?
Peter Harris
scav at blueyonder.co.uk
Tue Aug 31 21:38:46 CEST 2004
Aahz wrote:
>What's PEP309?
>
>(People reading python-dev do not all have all PEP numbers memorized,
>and it's not reasonable to expect everyone to go look them up when it
>would take you only a few moments to save everyone else time.)
>
>
OK, sorry about that.
PEP309 is for a class that emulates partial function application (a bit
like currying in
languages that do it that way, but not exactly).
It lets you make callable wrappers round a callable object, with some
arguments 'frozen in'.
#e.g. classes and functions can both be used:
win = Tkinter.Tk() # my window
blueButn = partial(Tkinter.Button, win, fg='blue') # factory for blue
buttons in my window
def callback(name):
print name,"pressed"
b1 = blueButn(text="Hello", command=partial(callback,"hello"))
b2 = blueButn(text="Goodbye", command=partial(callback,"goodbye"))
The PEP proposes a module 'functional' for stuff (like partial) that
operates on or returns
other functions. I expect there are a few things that might belong
there, but only 'partial' is in
the proposal.
Peter Harris
More information about the Python-Dev
mailing list