title: Why does the operator ** fail where the operator ^ works?
body: <p>So, here are two list comprehensions, first uses <code>^</code> while second uses <code>**</code>:</p>
  
  <pre><code>&gt; [x ^ 2 | x &lt;- [1..10], odd x]
  [1,9,25,49,81]
  &gt; [x ** 2 | x &lt;- [1..10], odd x]
  
  &lt;interactive&gt;:9:1:
      No instance for (Show t0) arising from a use of ‘print’
      The type variable ‘t0’ is ambiguous
      Note: there are several potential instances:
        instance Show Double -- Defined in ‘GHC.Float’
        instance Show Float -- Defined in ‘GHC.Float’
        instance (Integral a, Show a) =&gt; Show (GHC.Real.Ratio a)
          -- Defined in ‘GHC.Real’
        ...plus 23 others
      In a stmt of an interactive GHCi command: print it
  </code></pre>
  
  <p>As far as I know difference between the two operators is that first works with integers, while second works with floating point values. Expected output then:</p>
  
  <pre><code>[1.0,9.0,25.0,49.0,81.0]
  </code></pre>
  
  <p>Actual question is: why does the second list comprehension fail?</p>