Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Fair, but how would it look if you had some filters and reduces thrown in the middle?

In my F# file of 300 lines[1], I do this chaining over 20 times in various functions. Would you really want to write the Python code your way every time, or wouldn't you prefer a simpler syntax? People generally don't do it your way often because it has a higher mental burden than it does with the simple syntax in F# and other languages. I don't do it 20 times because of an obsession, but because it's natural.

[1] Line count is seriously inflated due to my habit of chaining across multiple lines as in my example above.



My example was just a way to do it with plain python and nothing special. There are libraries that use operator overloading to get more F#-style syntax.

For example: https://ryi.medium.com/flexible-piping-in-python-with-pipey-...

And another mentioned there: https://pypi.org/project/pipe/


I think we can just let this rest. These kinds of operations are not as ergonomic in python. That's pretty clear. No example provided is even remotely close to the simplicity of the F# example. Acquiesce.


You do realize this was in my original comment, right?

> It's certainly not as clean as F# but neither is it as bad as the original example if there's a lot of functions


The fact is the language just works against you in this area if you have to jump through hoops to approximate a feature other languages just have. And I don't even mean extra syntax like F#'s pipe operators (although I do love them). Just swapping the arguments so you could chain the calls would look a lot better, if a little LISPy. It really is that bad.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: