<div dir="ltr">Function application has the strongest precedence, thus something like<div><br></div><div><font face="monospace, monospace">    fun1 . fun2 arg</font></div><div><br></div><div>is equivalent to</div><div><br></div><div><font face="monospace, monospace">    fun1 . (fun2 arg)</font></div><div><br></div><div>Now, ($) is the same as function application, but has lowest precedence (even lower than (.)).</div><div><br></div><div><div><span style="font-family:monospace,monospace">    infixr 0 ($)</span><br></div><div><font face="monospace, monospace">    ($) :: (a -> b) -> a -> b</font></div></div><div><font face="monospace, monospace">    f $ x = f x</font></div><div><br></div><div>Thus,</div><div><br></div><div><font face="monospace, monospace">    fun1 . fun2 $ arg</font></div><div><br></div><div>is equivalent to</div><div><br></div><div><font face="monospace, monospace">    (fun1 . fun2) $ arg</font></div><div><font face="monospace, monospace">==  (fun1 . fun2) arg    { apply ($) }</font></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 14 May 2015 at 02:42, Shishir Srivastava <span dir="ltr"><<a href="mailto:shishir.srivastava@gmail.com" target="_blank">shishir.srivastava@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><font face="arial, helvetica, sans-serif">Hi, </font></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif">Could someone please point out what is the difference between using $ and parenthesis in the function composition below. Why does the first expression work whereas the second fails.</font></div><div><font face="monospace, monospace">---</font></div><div><font face="monospace, monospace">$$ head.head$[[1,2],[3,4]]</font></div><div><font face="monospace, monospace">1</font></div><div><font face="monospace, monospace">$$ head.head([[1,2],[3,4]])</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace"><interactive>:122:12:</font></div><div><font face="monospace, monospace">    Couldn't match expected type ‘a -> [c]’ with actual type ‘[t0]’</font></div><div><font face="monospace, monospace">    Relevant bindings include</font></div><div><font face="monospace, monospace">---</font></div><div>Thanks,</div><div><div><div dir="ltr"><font color="#0b5394"><font style="background-color:rgb(255,255,255)"><font size="2" face="georgia, serif">Shishir </font></font></font><br></div></div></div>
</div>
<br>_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org">Beginners@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div>Regards</div><div dir="ltr"><div><br></div><div>Sumit Sahrawat</div></div></div></div></div></div></div>
</div>