On Fri, Jul 4, 2008 at 5:31 PM, Badea Daniel <[EMAIL PROTECTED]> wrote:
>> parse (manyTill anyChar eof) "" ['a'|x<-[1..1024*1024]]
> *** Exception: stack overflow

The usual solution applies: move the data from the stack to the heap. Try using

manyTill' act end = go []
  where
    go acc = choice [end >> return (reverse acc)
                    ,act >>= \x -> go (x:acc)]

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

Reply via email to