[Haskell] writeFile for a looong string

Christian Maeder maeder at tzi.de
Thu Jul 14 05:24:14 EDT 2005


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?



More information about the Haskell mailing list