Function calling notation.
I was reading Yegge’s rant Rhinos and Tigers, and he mentioned that:
So it’s kind of unfortunate when you have to use functions, because if you have to say, you know,
HTMLElement.getChildren.whatever
, it gets inverted with functions:whatever(getChildren(HTMLElement))
. You have to call from the innermost one to the outermost… it’s “backwards”, right?
This doesn’t necessarily have to be true, we could institute a new functional calling convention where the arguments precede the function name:
((HTMLElement)getChildren)whatever
Let’s try this out a bit.
(5)factorial
("Hello World\n")print
(5, 3)add
(math.pi)math.cos
It’s apparently works nicely for certain functions: Yegge’s example and factorial; but not at all for most others. This could be because in ordinary discourse, Subject precedes Action precedes Object. I suppose you could get used to this notation, but I find it too backwards for too many things.