bos: > Adam Langley wrote: > > > Ok, see http://www.imperialviolet.org/IncrementalGet.hs > > That's excellent! This is just the sort of thing one wants if getting > dribs and drabs of information instead of a steady stream. For example, > I need to reconstruct TCP streams from individual packets captured off > the wire, and this is a much easier mechanism to use than playing tricks > with the direct-mode Get monad. > > > Questions: > > 1) Should Finished include the remainder of the ByteString (e.g. > > that which wasn't used by that parser) > > Yes, definitely. I had to add a runGetState to the existing Get monad > so that I could recover the unparsed residual, so I'm sure it will be > necessary here. > > > 2) I've no idea what I've done to the parse speed > > Getting the API right is the appropriate thing to be doing first. > Afterwards, the rewrite rule ninjas can stage a night attack on > performance problems.
Yeah, I'm happy to attack that problem. The key is finding a useful API that you actually can work with for real problems. This looks like a good step -- and interesting to see how you're needs differed from the original intent. > > But if this is useful to you, make any requests. I'll (hopefully) do > > them, clean it up and push a new release of binary-strict. > > I'm lobbying for Don and company to include this stuff in the regular > binary distribution. A proliferation of almost-identical packages > doesn't serve the community all that well. I'm happy to -- if people need a slightly different API, we should do what we can to support that. The goal is to make binary hacking in Haskell painless, so anything that helps that goal, is good :) -- Don _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
