title: Why does Ruby `**` operator have higher precedence than unary `-`?
body: <p>This leads to the situation like:</p>
  
  <pre><code>-1 ** 0.5 #=&gt; -1
  </code></pre>
  
  <p>Only parenthesis remedies it:</p>
  
  <pre><code>(-1) ** 0.5 #=&gt; 6.123031769111886e-17+1.0i
  </code></pre>
  
  <p>which is less favorable then expected <code>1.i</code>, but basically acceptable. Before I go to Ruby bugs to complain, I would like to know whether there is perhaps some reason for this to be so?</p>