[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