Hi Luke,<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://cvs.haskell.org/Hugs/pages/libraries/base/Data-ByteString.html#v%3Ajoin">join</a> :: <a href="http://cvs.haskell.org/Hugs/pages/libraries/base/Data-ByteString.html#t%3AByteString">ByteString</a> -&gt; [<a href="http://cvs.haskell.org/Hugs/pages/libraries/base/Data-ByteString.html#t%3AByteString">ByteString</a>] -&gt; <a href="http://cvs.haskell.org/Hugs/pages/libraries/base/Data-ByteString.html#t%3AByteString">ByteString</a> ???<br>
<br>Vasili<br><br><div class="gmail_quote">On Sat, Dec 27, 2008 at 1:58 AM, Luke Palmer <span dir="ltr">&lt;<a href="mailto:lrpalmer@gmail.com">lrpalmer@gmail.com</a>&gt;</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 class="gmail_quote">2008/12/26 Galchin, Vasili <span dir="ltr">&lt;<a href="mailto:vigalchin@gmail.com" target="_blank">vigalchin@gmail.com</a>&gt;</span><div><div></div><div class="Wj3C7c"><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

Hello,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I have a ByteString -&gt; [ByteString] -&gt; ByteString situation, i.e. concatenation .....<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- marshall into ByteString representation<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; join<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (encode (buildHeader ss))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- ByteString<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (map encode (buildEntries (sequenceListExtract ss)))&nbsp; -- [ByteString]<br>&nbsp;<br><br>I get the following typecheck error which is vexing me ....<br><br>&nbsp;&nbsp;&nbsp; Couldn&#39;t match expected type `t -&gt; t -&gt; B.ByteString&#39;<br>


&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; against inferred type `B.ByteString&#39;<br><br>???</blockquote><div><br></div></div></div><div>join is not a function in Data.ByteString. &nbsp;By the error I&#39;m guessing you&#39;re getting the join from Control.Monad, instantiated to (-&gt;).</div>

<div><br></div><div>You are looking for &quot;concat&quot;; i.e.</div><div><br></div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; concat $&nbsp;<div class="Ih2E3d"><br>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;encode (buildHeader ss) : &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; -- ByteString<br>
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;map encode (buildEntries (sequenceListExtract ss)) &nbsp;-- [ByteString]<br>
</div></div><div><br></div><div>(Control.Monad.join does end up meaning&quot;concat&quot; when working on lists of lists, but it does not generalize to lists of other things).</div><div><br></div><font color="#888888"><div>
Luke</div></font></div>
</blockquote></div><br>