Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[Haskell] Announce: iteratee-0.1.0

7 views
Skip to first unread message

John Lato

unread,
Mar 10, 2009, 3:28:17 PM3/10/09
to has...@haskell.org
I am pleased to announce the hackage release of iteratee-0.1.0. This
library implements enumerators and iteratees as proposed by Oleg
Kiselyov (http://okmij.org/ftp/Haskell/Iteratee/). Significant
differences from his original code include:

- Seeking is allowed within any monad; the specific RBIO monad is
neither required nor provided.
- Data buffers may be of arbitrary types as specified by the
StreamChunk type class. This allows for user-provided buffer types
(e.g. arrays, vectors, etc.). Instances are provided for lists and
ByteStrings. This, in conjunction with seeking, allows for efficient
processing of binary data in addition to text.
- Cross-platform support. Currently this is slightly less efficient
than the Posix operations, but should run on any system targeted by a
Haskell compiler.

Although basic I/O specific enumerators are provided, this library
should allow seamless interoperation with user-provided iteratees and
enumerators. I hope that this flexibility will encourage a much wider
adoption of enumerator-based IO in the Haskell community.

This library is experimental, and the API is subject to change if it
will seem advantageous. Patches are welcome: the darcs repo is at
http://inmachina.net/~jwlato/haskell/iteratee . Discussion and
comments are also always welcome.

I would like to acknowledge several individuals for their
contributions and suggestions:
Oleg Kiselyov
Paulo Tanimoto
Johan Tibell

Cheers,
John Lato
_______________________________________________
Haskell mailing list
Has...@haskell.org
http://www.haskell.org/mailman/listinfo/haskell

Johan Tibell

unread,
Mar 10, 2009, 3:57:23 PM3/10/09
to John Lato, has...@haskell.org
On Tue, Mar 10, 2009 at 8:28 PM, John Lato <jwl...@gmail.com> wrote:
> I am pleased to announce the hackage release of iteratee-0.1.0.  This
> library implements enumerators and iteratees as proposed by Oleg
> Kiselyov (http://okmij.org/ftp/Haskell/Iteratee/).  Significant
> differences from his original code include:
>
>  - Seeking is allowed within any monad; the specific RBIO monad is
> neither required nor provided.
>  - Data buffers may be of arbitrary types as specified by the
> StreamChunk type class.  This allows for user-provided buffer types
> (e.g. arrays, vectors, etc.).  Instances are provided for lists and
> ByteStrings.  This, in conjunction with seeking, allows for efficient
> processing of binary data in addition to text.
>  - Cross-platform support.  Currently this is slightly less efficient
> than the Posix operations, but should run on any system targeted by a
> Haskell compiler.

Here's the Hackage link for the lazy among us:

http://hackage.haskell.org/cgi-bin/hackage-scripts/package/iteratee-0.1.0

Cheers,

Johan

Paulo Tanimoto

unread,
Mar 10, 2009, 4:21:15 PM3/10/09
to Johan Tibell, John Lato, has...@haskell.org
On Tue, Mar 10, 2009 at 2:57 PM, Johan Tibell <johan....@gmail.com> wrote:
> On Tue, Mar 10, 2009 at 8:28 PM, John Lato <jwl...@gmail.com> wrote:
>> I am pleased to announce the hackage release of iteratee-0.1.0.  This
>> library implements enumerators and iteratees as proposed by Oleg
>> Kiselyov (http://okmij.org/ftp/Haskell/Iteratee/).  Significant
>> differences from his original code include:
>>
>>  - Seeking is allowed within any monad; the specific RBIO monad is
>> neither required nor provided.
>>  - Data buffers may be of arbitrary types as specified by the
>> StreamChunk type class.  This allows for user-provided buffer types
>> (e.g. arrays, vectors, etc.).  Instances are provided for lists and
>> ByteStrings.  This, in conjunction with seeking, allows for efficient
>> processing of binary data in addition to text.
>>  - Cross-platform support.  Currently this is slightly less efficient
>> than the Posix operations, but should run on any system targeted by a
>> Haskell compiler.
>
> Here's the Hackage link for the lazy among us:
>
> http://hackage.haskell.org/cgi-bin/hackage-scripts/package/iteratee-0.1.0
>
> Cheers,
>
> Johan

Nice job, John! Please keep posting on your blog, so we can see your
findings with audio processing and examples of iteratee.

If Windows users are interested, I just cabal-installed it on Windows
XP and the examples seem to run.

Paulo

Don Stewart

unread,
Mar 10, 2009, 4:22:10 PM3/10/09
to Paulo Tanimoto, John Lato, has...@haskell.org
tanimoto:

> On Tue, Mar 10, 2009 at 2:57 PM, Johan Tibell <johan....@gmail.com> wrote:
> > On Tue, Mar 10, 2009 at 8:28 PM, John Lato <jwl...@gmail.com> wrote:
> >> I am pleased to announce the hackage release of iteratee-0.1.0.  This
> >> library implements enumerators and iteratees as proposed by Oleg
> >> Kiselyov (http://okmij.org/ftp/Haskell/Iteratee/).  Significant
> >> differences from his original code include:
> >>
> >>  - Seeking is allowed within any monad; the specific RBIO monad is
> >> neither required nor provided.
> >>  - Data buffers may be of arbitrary types as specified by the
> >> StreamChunk type class.  This allows for user-provided buffer types
> >> (e.g. arrays, vectors, etc.).  Instances are provided for lists and
> >> ByteStrings.  This, in conjunction with seeking, allows for efficient
> >> processing of binary data in addition to text.
> >>  - Cross-platform support.  Currently this is slightly less efficient
> >> than the Posix operations, but should run on any system targeted by a
> >> Haskell compiler.
> >
> > Here's the Hackage link for the lazy among us:
> >
> > http://hackage.haskell.org/cgi-bin/hackage-scripts/package/iteratee-0.1.0
> >
> > Cheers,
> >
> > Johan
>
> Nice job, John! Please keep posting on your blog, so we can see your
> findings with audio processing and examples of iteratee.

Would love to see performance/handle-scalability numbers, too!

John Lato

unread,
Mar 11, 2009, 4:36:41 PM3/11/09
to Bas van Dijk, has...@haskell.org
On Wed, Mar 11, 2009 at 4:27 PM, Bas van Dijk <v.dij...@gmail.com> wrote:
> On Tue, Mar 10, 2009 at 8:28 PM, John Lato <jwl...@gmail.com> wrote:
>> I am pleased to announce the hackage release of iteratee-0.1.0.
>
> Nice!
>
> I think it would be nice if you make Monoid a superclass of
> StreamChunk and remove the 'empty' and 'append' methods.
>
> I attached a darcs patch that does just that, adds the necessary
> Monoid instances and updates all code to work with Monoids.
>

Thanks very much for this; it looks great. Incidentally, one of the
items planned for iteratee is some restructuring of types, in
particular the StreamChunk class. I would very much like to make
further steps in this direction.

John

0 new messages