Any reason I couldn't create a language supporting infix, postfix, and prefix functions, and more?
I've been mulling over creating a language that would be extremely well suited to creation of DSLs, by allowing definitions of functions that are infix, postfix, prefix, or even consist of multiple words. For example, you could define an infix multiplication operator as follows (where multiply(X,Y) is already defined): a * b => multiply(a,b) Or a postfix "squared" operator: a squared => a * a Or a C or Java-style ternary operator, which involves two keywords interspersed with variables: a ? b : c => if a==true then b else c Clearly there is plenty of scope for ambiguities in such a language,