ANN: pipes-attoparsec-0.2.0.0: New API, Interleaved parsing support

108 views
Skip to first unread message

Renzo Carbonara

unread,
Jun 4, 2013, 2:59:16 AM6/4/13
to haskell-pipes
Hello,


I'm pleased to (finally!) announce the release of
pipes-attoparsec-0.2.0.0, a library that enables Attoparsec parsers to
draw input from Pipes streams.

http://hackage.haskell.org/package/pipes-attoparsec-0.2.0.0

Thanks to pipes-parse, pipes-attoparsec now supports interleaving
parsing with other stream effects easily.

This new version exports a different API that is backwards
incompatible with previous releases. The new API is much simpler and
well documented, and once pipes-bytestring and pipes-text get
released, your “pipes strings toolkit” will be complete :)

There might be room for speed optimizations, but I haven't tried much
to optimize the code just yet. So far it has performed fast enough on
my machine, anyway. I may work in some benchmarks in the future.

It has taken a long time to get both pipes-attoparsec and pipes-parse
ready, but it was worth the effort. And I'm especially thankful to
Gabriel Gonzales for our hundred emails and lengthy discussions during
all these months.

Enjoy!


Renzo Carbonara

Renzo Carbonara

unread,
Jun 4, 2013, 3:00:01 AM6/4/13
to haskell-pipes
On Tue, Jun 4, 2013 at 3:59 AM, Renzo Carbonara <gnuk...@gmail.com> wrote:
> I'm pleased to (finally!) announce the release of
> pipes-attoparsec-0.2.0.0, a library that enables Attoparsec parsers to
> draw input from Pipes streams.
>
> http://hackage.haskell.org/package/pipes-attoparsec-0.2.0.0

You can find the documentation here until Hackage renders it:

http://monoid.k0001.org/haskell/pipes-attoparsec/Control-Proxy-Attoparsec.html


Regards,

Renzo Carbonara

Renzo Carbonara

unread,
Jun 4, 2013, 3:04:22 AM6/4/13
to haskell-pipes
In case you wonder how this API is used in practice, you can check my
first “experiment” with pipes-attoparsec: pipes-aeson, which enables
encoding and decoding of JSON values flowing through Pipes streams.

https://github.com/k0001/pipes-aeson/blob/master/src/Control/Proxy/Aeson.hs

I'm quite satisfied with the results so far, and I might end up
releasing it really soon.

I'll also continue my work on HTTP parsing using Attoparsec, aiming
towards getting the upcoming pipes-http-client shaped.


Regards,

Renzo.

Gabriel Gonzalez

unread,
Jun 4, 2013, 8:29:45 AM6/4/13
to haskel...@googlegroups.com
On 06/04/2013 12:04 AM, Renzo Carbonara wrote:
> On Tue, Jun 4, 2013 at 4:00 AM, Renzo Carbonara<gnuk...@gmail.com> wrote:
>> On Tue, Jun 4, 2013 at 3:59 AM, Renzo Carbonara<gnuk...@gmail.com> wrote:
>>> I'm pleased to (finally!) announce the release of
>>> pipes-attoparsec-0.2.0.0, a library that enables Attoparsec parsers to
>>> draw input from Pipes streams.
>>>
>>> http://hackage.haskell.org/package/pipes-attoparsec-0.2.0.0
>> You can find the documentation here until Hackage renders it:
>>
>> http://monoid.k0001.org/haskell/pipes-attoparsec/Control-Proxy-Attoparsec.html

It looks excellent! I can directly make use of this in my own projects.

> In case you wonder how this API is used in practice, you can check my
> first �experiment� with pipes-attoparsec: pipes-aeson, which enables
> encoding and decoding of JSON values flowing through Pipes streams.
>
> https://github.com/k0001/pipes-aeson/blob/master/src/Control/Proxy/Aeson.hs
>
> I'm quite satisfied with the results so far, and I might end up
> releasing it really soon.
>
> I'll also continue my work on HTTP parsing using Attoparsec, aiming
> towards getting the upcoming pipes-http-client shaped.
Man, you are just a library-writing machine! :) Those will all be
really useful libraries.
>
> Regards,
>
> Renzo.
>

Renzo Carbonara

unread,
Jun 4, 2013, 1:52:15 PM6/4/13
to haskell-pipes
On Tue, Jun 4, 2013 at 3:59 AM, Renzo Carbonara <gnuk...@gmail.com> wrote:
> And I'm especially thankful to Gabriel Gonzales

Boy, I always get your last name wrong! It's Gonzalez! Sorry about that.

Gabriel Gonzalez

unread,
Jun 4, 2013, 2:22:37 PM6/4/13
to haskel...@googlegroups.com
I don't mind at all. It's an incredibly common mistake.  Heck, I think I didn't even have it completely straight until I was 7 or something. :)
 

--
You received this message because you are subscribed to the Google Groups "Haskell Pipes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to haskell-pipe...@googlegroups.com.
To post to this group, send email to haskel...@googlegroups.com.



Reply all
Reply to author
Forward
0 new messages