On Dec 26, 2005 10:20 PM, Brian McQueen <[EMAIL PROTECTED]> wrote: > How is this different from the (un)pickle process that has been > discussed here recently?
There is one important difference in my mind. Most of the pickling code is concerned with turning haskell data into a binary stream that can later be turned back into haskell data. There is no interoperability required -- the thing that writes it is the thing that will read it. For parsing arbitrary binary data formats a few other important issues arise that you can sometimes forget about with pickling such as: ~ byte-alignment ~ big-endian vs little endian ~ size of data types (for example is Char one byte or four) ~ bitwise parsing Both pickling and binary format parsing can be built on the same underlying low-level binary access methods. I have also wondered if they might be able to share the same high level interface because they don't really seem that far removed from one another in many respects. But I have not had time to think about it much. SerTH can be used to derive pickling code for arbitrary haskell data types. And I am pretty sure I once saw code that could derive a binary parser from a C struct. So, there really does seem to be a lot of overlap. j. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe