[Python-Dev] Partial function application (original) (raw)
Herbert Kruitbosch python-dev at herbertkruitbosch.com
Fri Sep 11 20:08:46 CEST 2015
- Previous message (by thread): [Python-Dev] Partial function application
- Next message (by thread): [Python-Dev] Partial function application
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Fri, 11 Sep 2015 at 10:41 Herbert Kruitbosch <python-dev at herbertkruitbosch.com> wrote:
datasorted = sort(data, key = #1[0]) That syntax won't work because
#
is used to start a comment and there is no way to disambiguate that in the grammar.
Obviously :) The #-syntax is used by Mathematica, which is why I used it here. As you stated, it is not adequate for python3. You could imagine a $n or ***n syntax. I'm not in any way well informed on the python3 syntax, nor what would be aesthetically appealing and readable.
where the #1 is similar to the one used in Mathematica for the same purpose. That is, an expression with #1 becomes an anonymous function which takes one argument, and, obviously, if a #n is included, the anonymous function takes n arguments.
Notice that #1[0] does not seem like partial function application, however it is if you (C++'isly) assume that the deference operation [] is a function dereference(subscriptable, subscript). Obviously, I am only expecting that you get these type of suggestions all the time and that there is a good change you do not find it adequate for many reasons, for example keeping the language compact. I this case, I would also like to hear so. In my code the few times I want partial function applications I have found the functions in the operator module meet that need, else functools.partial or a quickly written closure do the trick. I don't think dedicated syntax is warranted when those other options already exist to meet the same need.
I would guess it depends on personal preference. And like you stated, there are many clear and intuitive workarounds. I never got to the point where functools.partial and operator.* became part of my coding equipment, and I would adore this feature. I'm very curious if there are more people on my team, but am also interested to hear about opinions against such a feature.
Thanks for the suggestion!
No problem, and thank you for reading it :)
Herbert -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20150911/c0757393/attachment.html>
- Previous message (by thread): [Python-Dev] Partial function application
- Next message (by thread): [Python-Dev] Partial function application
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]