I’ll have to dig in a bit, but this seems very Tcl like, at least syntactically. Could be very interesting!
(Edit: it’d be easy to dismiss my Tcl like comment, but it has relatively little syntax, with quoting. Tcl treats its command parameters as a by-need as well, which On seems to do, since you’re effectively using the operator to manipulate the things pushed on to the stack after you. It seems! Again, haven’t dug deep enough)
I hope some concatenative experts will weigh in! I’m more of a tourist.
This is the first prefix-oriented concatenative language I’ve seen. I can see how it might be more efficient in some ways, but it still requires stacks to track pending functions and assemble their arguments, right?
To me the code seems harder to read because basically being evaluated from right to left, not left to right as in Forth; however that does mean one reads the functions before their operands, which is more natural. I guess this is similar to reading functional code only without [most of] the parentheses.
There was a good discussion of it on HN last year that included the author: Om is a novel, maximally-simple concatenative language