rover bark using: "WOOF" name: "Rovina" rover bark at: "Mr. Tiddles" ! bark with-name: name saying: bark ... ! bark at: other ... Thanks for the kind words! On the syntax problem, it is indeed messy in places but I have some ideas on cleaning that up. For example, you mention the + 3 5 vs. 3 + 5 case. With binary (two argument) plus, it makes sense to have the plus in the middle rather than at the beginning as in lisp, because we're used to the Subject Verb Object configuration in English, rather than the predicative VSO layout of most (programming, not natural which are usually SOV) languages. To let people make the SVO configuration or whichever they prefer mandatory, I've been thinking that for example it'd be a good idea if the + function could define that it can only be used in the second position of a command. That way, + 3 5 would be illegal and 3 + 5 would be fine. Of course this is a bit Anglicentric, especially when you get to functions which aren't operators like + is, but it would allow people to remove the ambiguity and enforce some kind of consistency in the code that they design. It's a difficult thing to trade off, at any rate.