Michael, thanks for pointers. I am just curious why my code didn't type-check before. What exactly prevented it from type-checking? Like "monadResource" constraint on Q.readFile? Which forces it to run within `resourceT` monad (I haven't found any good article about relationship between monadResource and resourceT yet - so, still figuring this out)?
BTW, I like the design of streaming library very much. It made it much easier for me to wrap a parser I wrote, and reason about it. Vs io-streams which I used it in the past. This is how the main part of code looks like, with streaming library for that parser - very efficient too in performance tests: (|>) = (&) -- pipe alias for readability - borrowed from Elm -- Test function main :: IO () main = do -- oneRec pretty-prints one JSON output which we pass to putStrLn so newlines are interpreted Q.getContents |> A.parsed oneRec |> void |> S.mapM_ BSC.putStrLn return () On Tuesday, June 7, 2016 at 11:01:50 AM UTC-4, Michael Thompson wrote: > > I meant to emphasize that the above code also type checks if you write > > import qualified Pipes.HTTP as SP > import qualified Pipes.ByteString as Q > > instead of > > import qualified Data.ByteString.Streaming.HTTP as SP > import qualified Data.ByteString.Streaming as Q > > > -- You received this message because you are subscribed to the Google Groups "Haskell Pipes" group. To unsubscribe from this group and stop receiving emails from it, send an email to haskell-pipes+unsubscr...@googlegroups.com. To post to this group, send email to haskell-pipes@googlegroups.com.