Hello Neil,
Friday, April 28, 2006, 7:59:22 PM, you wrote:
> I have a program which needs to cache intermediate data structures to
> a file (finite, non-cyclic, relatively simple, around ~100Kb when
> shown). Is there any easy way to acheive this?
use NewBinary (darcs get http://www.n-heptane.com/nhlab/repos/NewBinary/)
or jhc's Binary module together with DrIFT to generate Binary
instances. these modules need minimal tweaks to implement Hugs compatibility
code generated by DrIFT will use strict get. if you want to get lazy
reading, you can replace get/put_ with lazyGet/lazyPut in appropriate
instances
in order to make it run faster, you should work with memory buffer
and read/write entire buffer from/to file:
writing:
bh <- openBinMem 1 undefined
lazyPut bh data
... put more data
writeBinMem bh "filename"
reading:
bh <- readBinMem "filename"
data <- lazyGet bh
.... get more data
--
Best regards,
Bulat mailto:Bulat.Ziganshin at gmail.com