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.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe