[Haskell-cafe] ByteString typechecking issues....
Galchin, Vasili
vigalchin at gmail.com
Sat Dec 27 03:14:37 EST 2008
Hi Luke,
join<http://cvs.haskell.org/Hugs/pages/libraries/base/Data-ByteString.html#v%3Ajoin>::
ByteString<http://cvs.haskell.org/Hugs/pages/libraries/base/Data-ByteString.html#t%3AByteString>->
[
ByteString<http://cvs.haskell.org/Hugs/pages/libraries/base/Data-ByteString.html#t%3AByteString>]
-> ByteString<http://cvs.haskell.org/Hugs/pages/libraries/base/Data-ByteString.html#t%3AByteString>???
Vasili
On Sat, Dec 27, 2008 at 1:58 AM, Luke Palmer <lrpalmer at gmail.com> wrote:
> 2008/12/26 Galchin, Vasili <vigalchin at gmail.com>
>
> Hello,
>>
>> I have a ByteString -> [ByteString] -> ByteString situation, i.e.
>> concatenation .....
>>
>>
>> -- marshall into ByteString representation
>> join
>> (encode (buildHeader
>> ss)) -- ByteString
>> (map encode (buildEntries (sequenceListExtract
>> ss))) -- [ByteString]
>>
>>
>> I get the following typecheck error which is vexing me ....
>>
>> Couldn't match expected type `t -> t -> B.ByteString'
>> against inferred type `B.ByteString'
>>
>> ???
>
>
> join is not a function in Data.ByteString. By the error I'm guessing
> you're getting the join from Control.Monad, instantiated to (->).
>
> You are looking for "concat"; i.e.
>
> concat $
> encode (buildHeader ss) :
> -- ByteString
> map encode (buildEntries (sequenceListExtract ss))
> -- [ByteString]
>
> (Control.Monad.join does end up meaning"concat" when working on lists of
> lists, but it does not generalize to lists of other things).
>
> Luke
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20081227/3f2cd72d/attachment-0001.htm
More information about the Haskell-Cafe
mailing list