Okay, so there, the chunks (xs) will be lines of Text, and not just random
blocks.
Isn't there a primitive like printChunks in the enumerator library, or are
we forced to handle Chunks and EOF by hand?

2011/7/25 David McBride <[email protected]>

> blah = do
>  fp <- openFile "file" ReadMode
>  run_ $ (ET.enumHandle fp $= ET.lines) $$ printChunks True
>
> printChunks is super duper simple:
>
> printChunks printEmpty = continue loop where
>        loop (Chunks xs) = do
>                let hide = null xs && not printEmpty
>                CM.unless hide (liftIO (print xs))
>                continue loop
>
>        loop EOF = do
>                liftIO (putStrLn "EOF")
>                yield () EOF
>
> Just replace print with whatever IO action you wanted to perform.
>
> On Mon, Jul 25, 2011 at 4:31 AM, Yves Parès <[email protected]> wrote:
> > Sorry, I'm only beginning to understand iteratees, but then how do you
> > access each line of text output by the enumeratee "lines" within an
> > iteratee?
> >
> > 2011/7/24 Felipe Almeida Lessa <[email protected]>
> >>
> >> On Sun, Jul 24, 2011 at 12:28 PM, Yves Parès <[email protected]>
> wrote:
> >> > If you used Data.Enumerator.Text, you would maybe benefit the "lines"
> >> > function:
> >> >
> >> > lines :: Monad m => Enumeratee Text Text m b
> >>
> >> It gets arbitrary blocks of text and outputs lines of text.
> >>
> >> > But there is something I don't get with that signature:
> >> > why isn't it:
> >> > lines :: Monad m => Enumeratee Text [Text] m b
> >> > ??
> >>
> >> Lists of lines of text?
> >>
> >> Cheers, =)
> >>
> >> --
> >> Felipe.
> >
> >
> > _______________________________________________
> > Haskell-Cafe mailing list
> > [email protected]
> > http://www.haskell.org/mailman/listinfo/haskell-cafe
> >
> >
>
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to