On Mon, Mar 3, 2008 at 2:23 AM, Krzysztof Kościuszkiewicz
<[EMAIL PROTECTED]> wrote:
> Dear Haskellers,
>
>  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.

Well, I haven't read this through, but superficially, it looks like
you're expecting the data structure to be constructed lazily.  But...

>  > -- Syntax of expressions
>  > data Exp = Sym !B.ByteString | List ![Exp]
>  >     deriving (Eq, Show)

It is declared as strict, so it's not going to be constructed lazily...

Luke
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to