What exactly does => do in haskell?
<p>I've just started reading through Learn You a Haskell for Great Good.  In chapter 3, I've seen the author use => but I could not find out exactly what it does and why they use it.</p>

<p>I think this is the first time it was used:</p>

<pre><code>lucky :: (Integral a) =&gt; a -&gt; String  
lucky 7 = "LUCKY NUMBER SEVEN!"  
lucky x = "Sorry, you're out of luck, pal!" 
</code></pre>

<p>Here is another example:</p>

<pre><code>tell :: (Show a) =&gt; [a] -&gt; String  
tell [] = "The list is empty"  
tell (x:[]) = "The list has one element: " ++ show x  
tell (x:y:[]) = "The list has two elements: " ++ show x ++ " and " ++ show y  
tell (x:y:_) = "This list is long. The first two elements are: " ++ show x ++ " and " ++ show y  
</code></pre>

<p>Thanks.</p>