title: Difference between $ and ()
body: <p>I started learning Haskell and I encountered a problem I can't just understand. I've got a method used to find value from a list of key-value list (from <a href="http://learnyouahaskell.com/modules#loading-modules">this page</a>):</p>
  
  <pre><code>let findKey key xs = snd . head . filter (\(k,v) -&gt; key == k) $ xs  
  </code></pre>
  
  <p>I tried fiddling with a bit and decided to get rid of $ sign in this way:</p>
  
  <pre><code>let findKey key xs = snd . head . filter (\(k,v) -&gt; key == k) ( xs )
  </code></pre>
  
  <p>However, it doesn't even parse (filter applied to too many argumens error). I've read that $ sign is used to simply replace parenthesis and I can't figure out why this simple change of code is bad. Could someone explain it to me?</p>