Trying to understand the dot operator
<p>I'm trying to understand how the dot operator works. Here's an example:</p>

<pre><code>main = do
    ns &lt;- getNetworkInterfaces
    mapM_ (putStr . showInterface) ns
</code></pre>

<p>I know that <code>mapM_</code> accepts a function and <code>Monad</code>. "ns" is a <code>Monad</code>. But how actually the part <code>(putStr . showInterface)</code> works in terms of Haskell grammar or syntax in this particular example? Once again: in this particular example. Also, which function will be called first: putStr or showInterface?</p>