Every time I try to read a Ruby line with no (), I have to stop and think.
Not being able to scan code is an anti feature.
Every time I try to read a Ruby line with no (), I have to stop and think.
Not being able to scan code is an anti feature.
print(inc(x))
But like Lisps. I've used them when I wanted to be very certain about evaluation, but not in general. (print(inc x))
In Rebol (or Rye) this is usually just: print inc x
That's why all function in Rebol/Rye have fixed arity and yes, you generally have to know it or deduce it from the code, which is a minus.Rye currently doesn't have parenthesis option, but it might get it at the end. It does have op and pipe words, an optional left to right flow, which can also better hint about the structure than pure polish notation of Rebol I think. For better of worse, these Rye expressions all do the same :) --
print inc x
print x .inc
x .inc .print
inc x |printOf course you could just take existing text from a codebase and reformat it for viewing, but then there's this ambiguity about which version is real that you'd have to deal with.
In Unison it's understood that none of the text is real, it's only the resulting AST and its hash that matters, so if you're seeing text at all you know it's just for your benefit in that moment. It's such a cool idea.