[Haskell-beginners] Different ByteStrings, what now?

Raphael Päbst raphael.paebst at googlemail.com
Thu Jun 2 15:46:14 CEST 2011

Ah thanks, that's it. I know about ByteString and ByteString.Lazy, but
the error message confused me, since it said it was expecting
Text.ProtocoelBuffers.Header.ByteString of which I had never heard


On 6/2/11, Daniel Fischer <daniel.is.fischer at googlemail.com> wrote:
> On Thursday 02 June 2011 15:23:40, Raphael Päbst wrote:
>> Hello once again!
>> My forays into Haskell are once again stopped by my weak Haskell Fu.
>> I am working with ProtocolBuffers and so far everything worked fine,
>> but now I have encountered a problem. I am trying to serialize a
>> message that contains, among other things, a blob of binary data. My
>> problem now is to get that binary data into the message.
>> The message requires the data type
>> Text.ProtocolBuffers.Header.ByteString, whereas my data is of the type
>> Data.ByteString. How can I turn one into the other or get my data into
>> the right format in te first place?
>> I tried to find a function to solve this, but I couldn't find it in
>> the ProtoBuff documentation.
> I don't know ProtoBuff, but I suspect that one uses lazy ByteStrings [there
> are only lazy and strict ByteStrings in the bytestring package], in which
> case you could simply transform your strict ByteString via
> strictToLazy bs = Data.ByteString.Lazy.fromChunks [bs]
> into a lazy ByteString (the reverse transformation would be
> Data.ByteString.concat . Data.ByteString.Lazy.toChunks, but it might be
> better to work with lists of strict ByteStrings as delivered by toChunks).
>> Thanks
>> Raf

More information about the Beginners mailing list