I've been messing around with macro compilation and embedded languages in Julia. This is a reverse polish notation compiler built into a macro. Be forewarned, I don't really know julia or how to build a compiler.
I wanted the compiler to leak, so I could pull in environmental variables.
a=1; rpn"a 1 +" #Totally valid and should be 2
I wanted the compiler to be able to take in information about the number of arguments to a function.
N!f tells the compiler what to do. The default for N is 2.
rpn"1 2 3 3!+" # should be 6
Thanks to being a compiler that is porous (unhygenic?), this means that all the power of julia is available to you, the reverse polish notation programmer.
rpn"100 20 fill 1!sum"
rpn"1 2 1 logspace 1!mean"
If you are so inclined, you could use DArray with some complex entries to do distributed, complex reverse polish notation computing!