I'm gonna be the one who asks the dumb question, but someone has to do it: why are expressions evaluated from right to left?
foo(bar(baz(42)))
and then remove the superfluous parens foo bar baz 42
The expression is evaluated from right to left.Now, let's make two of the functions into object members:
A.foo(bar(B.baz(42)))
Remove the parens, extracting the methods from their objects, instead feeding each object as a left argument to its former member function: A foo bar B baz 42
This is normal APL-style call syntax; right-to-left if you want.It also simplifies things as no need to implement BIDMAS