[Haskell-cafe] ByteString typechecking issues....
Luke Palmer
lrpalmer at gmail.com
Sat Dec 27 02:58:22 EST 2008
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/f6a6f3d1/attachment.htm
More information about the Haskell-Cafe
mailing list