2008/12/26 Galchin, Vasili <vigalc...@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
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe