<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>In this case you have to use parens -- two dollar signs, like this</div><div><br></div><div>B.intercalate $ B.intercalate ByteString [ByteString] $ [ByteString]</div><div><br></div><div>would also not type check -- it is exactly equivalent to your first example:</div><div><br></div><div>B.intercalate (B.intercalate ByteString [ByteString] ([ByteString]))</div><div><br></div><div>just with one level of extra parentheses.</div><div><br></div><div>If for some reason you absolutely need to avoid parentheses (mostly as a thought exercise, I guess), you'd have to have a flipped version of intercalate:</div><div><br></div><div>flippedIntercalate :: [ByteString] -> ByteString -> ByteString</div><div>flippedIntercalate = flip B.intercalate</div><div><br></div><div>flippedIntercalate [ByteString] $ B.intercalate ByteString [ByteString]</div><div><br></div><div>of course, this is pretty contrived.</div><div><br></div><div>-Ross</div><div>&nbsp;</div><br><div><div>On Jan 5, 2009, at 1:23 PM, Galchin, Vasili wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">yep ... that is exactly what I meant!! so can I use more $'s or must I use parens (as you did) to disambiguate?<br><br>Vasili<br><br><div class="gmail_quote">On Mon, Jan 5, 2009 at 12:18 PM, Ross Mellgren <span dir="ltr">&lt;<a href="mailto:rmm-haskell@z.odi.ac">rmm-haskell@z.odi.ac</a>></span> wrote:<br> <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div style="">Did you mean:<div class="Ih2E3d"><div><br></div><div>B.intercalate (B.intercalate ByteString [ByteString]) [ByteString]</div> <div><br></div></div><div>($) applies all the way to the right, so you were giving the inner intercalate two lists of ByteString.</div><div><br></div><div>-Ross</div><div><br></div><div><br></div><div><div><div></div><div class="Wj3C7c"> <div>On Jan 5, 2009, at 1:17 PM, Galchin, Vasili wrote:</div><br></div></div><blockquote type="cite"><div><div></div><div class="Wj3C7c">Hi Max,<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; That is what should happen .... The inner B.intercalate will produce the ByteString to be used by the B.intercalate.&nbsp; ??<br> <br>Vasili<br><br><div class="gmail_quote">On Mon, Jan 5, 2009 at 12:13 PM, Max Rabkin <span dir="ltr">&lt;<a href="mailto:max.rabkin@gmail.com" target="_blank">max.rabkin@gmail.com</a>></span> wrote:<br> <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> 2009/1/5 Galchin, Vasili &lt;<a href="mailto:vigalchin@gmail.com" target="_blank">vigalchin@gmail.com</a>>:<br> <div><div></div><div>> Hello,<br> ><br> > &nbsp; &nbsp; &nbsp; I have the following:<br> ><br> > &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; B.intercalate $ B.intercalate<br> > &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ByteString<br> > &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [ByteString]<br> > &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [ByteString]<br> ><br> > &nbsp; &nbsp; &nbsp; I get a type error with this. If I &nbsp;comment out the 2nd B.intercalate<br> > and the third parameter I get no type errors.<br> <br> </div></div>B.intercalate needs a ByteString and a list of ByteStrings. Two<br> B.intercalates need two ByteStrings and two lists of ByteStrings.<br> <font color="#888888"><br> --Max<br> </font></blockquote></div><br> </div></div> _______________________________________________<br>Haskell-Cafe mailing list<br><a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br><a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br> </blockquote></div><br></div></blockquote></div><br></blockquote></div><br></body></html>