problem with curring in python

Terry Reedy tjreedy at udel.edu
Tue Oct 22 13:18:00 EDT 2019


On 10/22/2019 6:15 AM, Antoon Pardon wrote:
> On 22/10/19 12:02, Terry Reedy wrote:
>> On 10/22/2019 4:58 AM, Antoon Pardon wrote:
>>> Using python 3.5
>>>>>> I have been experimenting with curried functions. A bit like in Haskell.
>>> So I can write the following function:
>>>>>> def sum4(a, b, c, d):
>>>      return a + b + c + d
>>>>>> summing = curry(sum4)
>>>>>> print summing(1)(2)(3)(4) # this prints 10.
>>>>>> The problem is I need the signature of the original function in order to
>>> know when to finally call the function and return the actual result.
>>> However buildin functions don't have a
>>>> I believe most do.
>> Well I may have jumped to my conclusion, but those in operator don't seem
> to have a signature.
>>>>> inspect.signature(operator.mul)

By default, 'python', to me, refers to the current, most recent version, 
now 3.8. As Peter Otten said, this now has a proper signature, added 
with Argument Clinic.
I read 'buildin functions' as 'builtins functions', functions in the 
builtins module, bound to '__builtins__' in the main module. Of the 69 
functions listed in https://docs.python.org/3/library/functions.html,
43 have a proper signature (non-None __text_signature__) and 26 do not.
A majority if not 'most'.
For the alternate reading of 'built-in functions' (in the stdlib), the 
ratio of conversions to a proper signature may be lower. The process is 
on-going.
-- 
Terry Jan Reedy


More information about the Python-list mailing list

AltStyle によって変換されたページ (->オリジナル) /