> Clearly, plus is not an exact alias for '+' , just as :cmd is not the
> same as :`.  Is it that ruby aliases are not the same as shell aliases?

You're mixing up syntax and semantics. Syntactically, + is treated as an
operator which you can use in infix notation. plus however is not. But
both are methods, and they can be aliased as methods, but plus can never
become an operator. The use of operators is just syntactic sugar, a nice,
friendly way to write things so you don't have to write 1.+(2) all the
time but instead you can write the more readable 1+2 . Aliasing has no
effect on the syntax, 'alias plus +' just creates a new method called
plus that gets the same implementation as +. So it is more or less
equivalent to this:

  class Fixnum
    def plus(a)
      self + a
    end
  end

That's it. And you can't call this method using infix notation, only using
dot notation. I think you expect plus to simply be replaced with + in '1
plus 2', but it doesn't work like that. It basically just copies a given
method and gives it a new name. The same is true for the backtick, you
call it using a special syntax, but it is only a method call and aliasing
it doesn't get the alias the special syntax.

Just food for thought... How would you expect this to work out:

  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,