
Not in scope: `Data.ByteString.join'
when
Data.ByteString.join $
encode (buildHeader ss) --
ByteString
-- []
(map encode (buildEntries (sequenceListExtract ss)))
-- [ByteString]
??
Thanks, guys
On Sat, Dec 27, 2008 at 3:13 AM, Eugene Kirpichov
I think Luke meant that you forgot to qualify the import for join, and the compiler guessed that you are meaning the monad one, thus the error.
2008/12/27 Galchin, Vasili
: Hi Luke,
join :: ByteString -> [ByteString] -> ByteString ???
Vasili
On Sat, Dec 27, 2008 at 1:58 AM, Luke Palmer
wrote: 2008/12/26 Galchin, Vasili
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