Dear all, I am writing a long string (several MByte) to a file, with writeFile fname ( render d ) where d :: Text.PrettyPrint.HughesPJ.Doc I wonder what happens internally (when compiled with ghc -O, if that matters) Will the string be in memory completely before it is actually written? My d is in fact vcat xs, for a list xs that is generated item by item. Is there a way to get more efficient behaviour without too much rewriting the program? -- -- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 -- ---- http://www.imn.htwk-leipzig.de/~waldmann/ -------
Hi, maybe try using fullRender with defaults (mode=PageMode, lineLength=100, ribbonsPerLine=1.5) and "a" instantiated to "IO()" so that TextDetails can be appended to a file (handle). HTH Christian Johannes Waldmann wrote:
Dear all,
I am writing a long string (several MByte) to a file, with writeFile fname ( render d ) where d :: Text.PrettyPrint.HughesPJ.Doc
I wonder what happens internally (when compiled with ghc -O, if that matters) Will the string be in memory completely before it is actually written?
My d is in fact vcat xs, for a list xs that is generated item by item.
Is there a way to get more efficient behaviour without too much rewriting the program?
participants (2)
-
Christian Maeder -
Johannes Waldmann