>>1
Why not. Operators are just syntactic sugar for functions. As long as your language is powerful enough to let you use them like functions and overload them, and it's not shitty enough to perform automagic shitty type conversion that will always make everything fail, you should be alright.
There are cases where operators are the right thing to use. For example, type comparison. You always use the equality symbol, which is usually == in your programming language, to test for object equality, so == is a better name than equals or some other Java-like bullshit. It's always far more intuitive and easier to understand, not to mention shorter, to do a == b than a.equals(b) (UGH! THE JAVA SHIT!), and the infix syntax for == better reflects the fact == is a function of two operands and its operands are expected to be of equal/similar/compatible types.
Of course, don't make it Perl. The & operator shouldn't really hire a new employee or mop the floor, or eat the protagonist as in roguelike games. Just like you should name your functions properly, you should choose your operators properly, and if none fit, use a function.
Also, all of this is meaningless if you use Lisp.
>>2-3
Java fags