>   class Fixnum
>     alias plus +
>   end
>
>   def test(a, b)
>     a plus b
>   end
>
>   test(1, 2)
>   test("a", "b")
>
> Given that plus is an alias for + for Fixnums,

Wanted to cancel after Hal's reply, but sent it by accident (x and c are
so close together...) Anyway, just wanted to say that test would need to
be acceptable if called with Fixnums and not when called with strings.
It's because of this inconsistency that Ruby can't allow "1 plus 2".

However look at Prolog which does allow definition of any operators, with
precedence, associativity and all. But you define something to be an
operator for ALL code, not just for Fixnums.

Peter