From: Anil Madhavapeddy <anil@recoil.org>
To: Spiros Eliopoulos <seliopou@gmail.com>
Cc: OCaml <caml-list@inria.fr>
Subject: Re: [Caml-list] ANN: angstrom
Date: Thu, 13 Oct 2016 13:42:24 +0100 [thread overview]
Message-ID: <8D59920F-E835-46F1-A1CC-8AA6542397D0@recoil.org> (raw)
In-Reply-To: <CAEkQQgKO+JnpDw4YDaY19EqU_a9=Hwh8a3+w0+TUnU4vqTn7tA@mail.gmail.com>
On 22 Jul 2016, at 14:35, Spiros Eliopoulos <seliopou@gmail.com> wrote:
>
> Hey List,
>
> It is with great pleasure that I announce the initial release of angstrom, a parser-combinator library that I have been developing over the past several months:
>
> https://github.com/inhabitedtype/angstrom
> http://opam.ocaml.org/packages/angstrom
>
> Angstrom exposes monadic and applicative interfaces for composition, and supports incremental input through buffered and unbuffered interfaces. Both interfaces give the user total control over the blocking behavior of their application, with the unbuffered interface enabling zero-copy IO. Parsers are backtracking by default and support unbounded lookahead.
>
> Whereas many OCaml parser combinator libraries claim heritage from the Parsec[0] Haskell library, angstrom instead follows the design and semantics of attoparsec[1], hence the name[2]. For a high-level comparison of Angstrom's features to other parser-combinator libraries, see the table included in the README:
>
> https://github.com/inhabitedtype/angstrom#comparison-to-other-libraries
I just wanted to thank Spiros for a great recent OCaml Workshop 2016 talk on his work on the webstack and point to his talk:
https://www.youtube.com/watch?v=tTqqu4xh4UY&list=PLnqUlCo055hVHS08n-Po_T4K2eNNahkg9&index=13
(livenotes as it happened: http://icfp2016.mirage.io/OCaml/improving-the-ocaml-webstack-.md )
And also one by Romaine on using Angstrom in his Mr MIME email parsing library:
https://www.youtube.com/watch?v=kQkRsNEo25k&index=12&list=PLnqUlCo055hVHS08n-Po_T4K2eNNahkg9
(livenotes: http://icfp2016.mirage.io/OCaml/whos-got-your-mail-mr-mime.md )
I've (along with the rest of the MirageOS team) have started discussing the integration of Angstrom (and its companion serialisation library Faraday) into the Cohttp stack to simplify its parsing and reduce our dependency on allocation-heavy patterns such as regular expressions, and expect to make progress on this in the next few months (as well as try out Angstrom on low-level libraries such as Mirage TCP/IP and DNS)
If you are interested, please get in touch with me and I can redirect you to the appropriate issue repository for your desired features for those protocol libraries.
regards,
Anil
next prev parent reply other threads:[~2016-10-13 12:42 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-22 13:35 Spiros Eliopoulos
2016-07-22 14:38 ` Daniel Bünzli
2016-07-22 21:46 ` Spiros Eliopoulos
2016-07-23 2:17 ` Daniel Bünzli
2016-07-23 6:41 ` Cole Brown
2016-07-23 11:37 ` Daniel Bünzli
2016-07-25 14:15 ` Spiros Eliopoulos
2016-07-25 15:44 ` Daniel Bünzli
2016-07-25 16:07 ` Spiros Eliopoulos
2016-07-25 16:21 ` Daniel Bünzli
2016-07-25 19:37 ` Spiros Eliopoulos
2016-07-25 20:03 ` Daniel Bünzli
2016-10-13 12:42 ` Anil Madhavapeddy [this message]
2017-02-03 19:37 ` Hendrik Boom
2017-02-04 16:36 ` Spiros Eliopoulos
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8D59920F-E835-46F1-A1CC-8AA6542397D0@recoil.org \
--to=anil@recoil.org \
--cc=caml-list@inria.fr \
--cc=seliopou@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox