<p dir="ltr">So you're referring to function currying, correct? I changed the thread title to reflect that.</p>
<p dir="ltr">--<br>
Ryan<br>
[ERROR]: Your autotools build scripts are 200 lines longer than your program. Something’s wrong.<br>
<a href="http://kirbyfan64.github.io/">http://kirbyfan64.github.io/</a></p>
<div class="gmail_quote">On May 31, 2016 8:04 AM, "Yongsheng Cheng" <<a href="mailto:cyscoyote@gmail.com">cyscoyote@gmail.com</a>> wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><span style="color:rgb(33,33,33);font-family:'helvetica neue',helvetica,arial,sans-serif;font-size:13px">to begin with: i a deep python fun</span><div style="color:rgb(33,33,33);font-family:'helvetica neue',helvetica,arial,sans-serif;font-size:13px">i want to suguest python a feature to support Fuctional Program :,here is the toy code  i need a more powerful decrote in moudle functools instead of functools.partial,thanks do you think it is a nice idea?</div><div style="color:rgb(33,33,33);font-family:'helvetica neue',helvetica,arial,sans-serif;font-size:13px">waitting for your reply</div><div style="color:rgb(33,33,33);font-family:'helvetica neue',helvetica,arial,sans-serif;font-size:13px"><br></div><div style="color:rgb(33,33,33);font-family:'helvetica neue',helvetica,arial,sans-serif;font-size:13px"><div><img>def minpara(func_1,args):</div><div>     num=0</div><div>     try:</div><div>         func_1(*args)</div><div>     except Exception as error:</div><div>         num,given=re.findall(r'\d+',str(error))[:2]</div><div>     if num:</div><div>        #return int(num),int(given)</div><div>         return (num,given)</div><div>     else:</div><div>         #return func(*args)</div><div>         return (0,0)</div><div><br></div><div>def curried(func):</div><div>    #@wraps(func)</div><div>    def new_func(*args):</div><div>        num,given=minpara(func,args)</div><div>        #print num,given</div><div>        if (num,given)==(0,0):</div><div>            return func(*args)</div><div>        else:</div><div>            return curried(functools.partial(func,*args))</div><div>    return new_func</div><div>@curried   </div><div>def sun_1(a,b,c):</div><div>    return a+b+c</div><div>@curried</div><div>def sun_2(a,b,c):</div><div>     return a*b*c</div><div>if __name__=="__main__":</div><div>    print sun_2(1,)(2)(44)</div><div>    print sun_1(1,)(2)(44)</div><div>    print sun_2(1,2)(23)</div></div></div>
<br>_______________________________________________<br>
Python-ideas mailing list<br>
<a href="mailto:Python-ideas@python.org">Python-ideas@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-ideas" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/python-ideas</a><br>
Code of Conduct: <a href="http://python.org/psf/codeofconduct/" rel="noreferrer" target="_blank">http://python.org/psf/codeofconduct/</a><br></blockquote></div>