Not sure if this has been mentioned before, but what if we allowed whitespace calling only for functions with one argument? (Or methods with the self argument and one other argument). This would also work for tags.
print "Hello"
1.add 2+3
A longer example:
my_list.push Ok encode "Hello"
This would be always parsed as my_list.push(Ok(encode("Hello"))).
Thoughts? I think this would help with there being too much parenthesis sometimes.
I also don't like too many parenthesis but I dislike exceptions more :big_smile:
Exception in the sense of; calling a function goes like this except when you only have one argument.
this is what Ruby does. I had a section in the original proposal talking about that as a possibility, and a consistent piece of feedback was what Anton just said: "let's not complicate the syntax in that way"
I think this would bring back a boatload of possible ambiguities about where one expression ends and the next one begins (eg in the context of !-statements in a function)
I do like the terseness of it. I also don’t super much like the special-casing. But maybe worth considering in the future, once things have settled down a bit?
yeah I'd like to see how things feel once we've actually had a chance to use static dispatch for real :big_smile:
Even Elixir is moving away from it in their official formatter in either 1.18 or 1.19
And I think in many cases in a language like Lua it can hamper readability (outside of require which is almost a keyword)
Actually I’m wrong about Elixir - they are adding () s that were assumed for nullary function calls
Last updated: Jun 16 2026 at 16:19 UTC