You know how a.f is equivalent to f(a)?
Would it be possible, using macros, to write b.a.f to represent f(a,b), or c.b.a.f to represent f(a,b,c), and so on for any number of arguments?
(It makes sense to do b.a.f instead of a.b.f because doing the former is like partially applying f to a, and then applying b to that.)
Essentially you could call functions Forth-style by putting the arguments before the function.
You can probably use a forth macro that would do:
forth: c.b.a.f