[Python-Dev] Re: What is PEP309? (original) (raw)
Peter Harris scav at blueyonder.co.uk
Tue Aug 31 21:38:46 CEST 2004
- Previous message: [Python-Dev] PEP 309 updated slightly
- Next message: [Python-Dev] Right curry considered harmful
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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
- Previous message: [Python-Dev] PEP 309 updated slightly
- Next message: [Python-Dev] Right curry considered harmful
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]