title: The 'op' operator in SML
body: <p>So I came across with the <code>op</code> operator and I don't get the pupurse.</p>
  
  <p>I defined two functions:</p>
  
  <pre><code>fun op pow1 (x,y) = Math.pow (x,y);
  fun pow2 (x,y) = Math.pow (x,y);
  </code></pre>
  
  <p>They both have the same signatures:</p>
  
  <pre><code>val pow1 = fn : real * real -&gt; real
  val pow2 = fn : real * real -&gt; real
  </code></pre>
  
  <p>And they both have the same function calls:</p>
  
  <pre><code>pow1 (5.0,6.0);
  &gt; val it = 15625.0 : real
  pow2 (5.0,6.0);
  &gt; val it = 15625.0 : real
  </code></pre>
  
  <p>So what is the difference between those two functions? What is the idea behind <code>op</code>?</p>