Re:Fish shell 3.0
by pseudalopex on Saturday December 29, 2018 @07:30PM
(#18786579)
What does operator precedence have to do with this? Ending a parameter list with a comma changes the output of the print keyword but not a function. Assignment statements can contain function calls but not the print keyword.
C style function calls are common, explicit, and consistent. Python adds the best combination of positional, variadic, and named parameters of any language I know. ML style has less punctuation and simpler grouping rules. Ruby has the weaknesses of both.
Haskell/ml/caml do it better than Ruby.
f 1 2
(f 1 2).thing
Here the parentheses are nothing special, they just hint precedence.As opposed to
f 1, 2
f(1, 2).thing
Awkward special-case commas and parentheses.Didn't Ruby borrow it from Perl?
But ignoring the legacy issue, there is a better way to do function calls, and it is ruby.