title: What exactly does => do in haskell?
body: <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>