Is there a difference between floor and truncate in Haskell : <p>Does there exist a difference in functionality between <code>floor</code> and <code>truncate</code> in Haskell?</p>

<p>They seem to perform the same functionality and they have the same type signature:</p>

<ul>
<li><code>truncate :: (Integral b, RealFrac a) =&gt; a -&gt; b</code></li>
<li><code>floor :: (Integral b, RealFrac a) =&gt; a -&gt; b</code></li>
</ul>
