Author bennorth
Recipients bennorth
Date 2009-02-09.13:59:17
SpamBayes Score 4.79044e-08
Marked as misclassified No
Message-id <1234187960.68.0.343533185797.issue5191@psf.upfronthosting.co.za>
In-reply-to
Content
The functools module includes a 'partial' class, which allows partial
function application either by positional arguments or keyword
arguments.  However, it cannot be used to create, for example, a
function splitting a string on commas, or a function to extracts logs to
base 10.  I posted

   http://mail.python.org/pipermail/python-dev/2009-January/085638.html

which suggested a 'partial_right' feature, such that the following would
work:

   >>> import functools, math

   >>> split_comma = functools.partial_right(str.split, ',')
   >>> split_comma('a,b,c')
   ['a', 'b', 'c']

   >>> log_10 = functools.partial_right(math.log, 10.0)
   >>> log_10(100.0)
   2.0

There was some useful discussion, but generally the feeling was that the
extra complexity outweighed the potential benefits.  Also, chained
partial applications were troublesome.

The overlap in functionality between 'partial_right' and an existing
patch (#1706256) to allow skipping of positional arguments was raised.

I think the present issue should probably be closed/rejected, but it was
suggested on the mailing list that having the issue and patch on the
record might be useful.  Patches are against 2.6.1 source.
History
Date User Action Args
2009-02-09 13:59:20bennorthsetrecipients: + bennorth
2009-02-09 13:59:20bennorthsetmessageid: <1234187960.68.0.343533185797.issue5191@psf.upfronthosting.co.za>
2009-02-09 13:59:18bennorthlinkissue5191 messages
2009-02-09 13:59:17bennorthcreate