
I tend to deal a lot with very very large data files in Haskell and my current approach to dealing with getting data out of one program an into another is writing it to a file using 'show' and then reading it in using 'read'. Unfortunately, this is very slow and produces very large files which are very slow to read and write. Is there another option? I don't care about H98 compatibility, so if there's a way to somehow just dump ghc's internal representation (I also don't care about x-platformness) to a file and read it back, that would be excellent. Other suggestions are welcome too :).
I wrote a binary I/O library recently for GHC, which we're using to speed up interface file reading and writing. The library is similar to nhc98's Binary library, execept that it works in terms of bytes rather than bits, and we don't do lazy binary I/O in the same way. It currently has some GHC-specific stuff in it, but I plan to make a generic version for the libraries at some point. For the time being, you can pull it out of CVS and take a look - it's in ghc/utils/Binary.hs. It should work if you remove the GHC-specific bits. Cheers, Simon
participants (1)
-
Simon Marlow