[Haskell-cafe] Data.Binary suboptimal instance

Henning Thielemann lemming at henning-thielemann.de
Fri May 22 15:34:50 EDT 2009

On Fri, 22 May 2009, Andrew Coppin wrote:

> So lately I've been working on a little program to generate trippy graphics. 
> (Indeed, some of you may remember it from a few years back...) Anyway, 
> getting to the point, I just restructured my program. As part of the 
> restructuring, I got rid of all the jiggery-pokery with Data.Array.Storable 
> and so forth and decided to use Data.Binary.
> My first problem was quite simple. I want to write a program that reads an 
> item from the input file, processes it, writes it to the output file, and 
> repeats until the input file is empty. Data.Binary doesn't appear to provide 
> any obvious way to do this. You can't be in the Get and Put monads 
> simultaneously, and I can't figure out how to interleave them.

You can! - It's again time to point out that Put shouldn't be a monad, but 
a monoid. But as it is, Put is a Writer monad on top of the Builder 
monoid. Better use that Builder monoid directly.

More information about the Haskell-Cafe mailing list