title: Understanding Haskell Type Signatures
body: <p>I am in the process of teaching myself Haskell and I was wondering about the following type signatures:</p>
  
  <pre><code>Prelude&gt; :t ($)
  ($) :: (a -&gt; b) -&gt; a -&gt; b
  Prelude&gt;
  </code></pre>
  
  <p>How should I interpret (no pun intended) that?</p>
  
  <p>A semi-similar result is also proving to be puzzling:</p>
  
  <pre><code>Prelude&gt; :t map
  map :: (a -&gt; b) -&gt; [a] -&gt; [b]
  Prelude&gt;
  </code></pre>