caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: "Daniel Bünzli" <daniel.buenzli@erratique.ch>
To: Spiros Eliopoulos <seliopou@gmail.com>
Cc: OCaml <caml-list@inria.fr>
Subject: Re: [Caml-list] ANN: angstrom
Date: Fri, 22 Jul 2016 16:38:01 +0200	[thread overview]
Message-ID: <F989DEB4A94D49D7962B03033C4A3038@erratique.ch> (raw)
In-Reply-To: <CAEkQQgKO+JnpDw4YDaY19EqU_a9=Hwh8a3+w0+TUnU4vqTn7tA@mail.gmail.com>

Looks cool.

Le vendredi, 22 juillet 2016 à 15:35, Spiros Eliopoulos a écrit :  
> 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
Do you have a story for precise line-column and byte count tracking ? It's quite important in practice to be able to give good error reports.  

Also does the API easily allow to do best-effort decoding (after reporting an error allow to resync input by discarding and restart the parsing process) ?  
  
> Yojson wins hands down (it benefits greatly from not having to support non-blocking incremental input),

I guess it also benefits of not implementing the standard at all, e.g. it won't check the validity of the underlying character stream.  

Also regarding benchmarks it would be more interesting to have benchmarks on real world examples where you convert json input to concrete ocaml data types. E.g. it would be cool if you could provide a jsonm-like streaming interface with angstrom and then use angstrom's combinators to parse the stream of json lexeme into OCaml data structures.

Best,  

Daniel



  reply	other threads:[~2016-07-22 14:38 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 [this message]
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
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=F989DEB4A94D49D7962B03033C4A3038@erratique.ch \
    --to=daniel.buenzli@erratique.ch \
    --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;
as well as URLs for NNTP newsgroup(s).