[Haskell-cafe] Space leak - help needed
Krzysztof Kościuszkiewicz
k.kosciuszkiewicz at gmail.com
Wed Mar 12 15:12:40 EDT 2008
On Mon, Mar 03, 2008 at 05:20:09AM +0100, Bertram Felgenhauer wrote:
> > Another story from an (almost) happy Haskell user that finds himself
> > overwhelmed by laziness/space leaks.
> >
> > I'm trying to parse a large file (>600MB) with a single S-expression
> > like structure. With the help of ByteStrings I'm down to 4min processing
> > time in constant space. However, when I try to wrap the parse results
> > in a data structure, the heap blows up - even though I never actually
> > inspect the structure being built! This bugs me, so I come here looking
> > for answers.
>
> The polyparse library (http://www.cs.york.ac.uk/fp/polyparse/)
> offers some lazy parsers, maybe one of those fits your needs.
> Text.ParserCombinators.Poly.StateLazy is the obvious candidate.
I have tried both Poly.StateLazy and Poly.State and they work quite well
- at least the space leak is eliminated. Now evaluation of the parser
state blows the stack...
The code is at http://hpaste.org/6310
Thanks in advance,
--
Krzysztof Kościuszkiewicz
Skype: dr.vee, Gadu: 111851, Jabber: kokr at jabberpl.org
"Simplicity is the ultimate sophistication" -- Leonardo da Vinci
More information about the Haskell-Cafe
mailing list