Re: Summary Amirouche Boubekki 20 Jun 2020 08:18 UTC

Le dim. 14 juin 2020 à 19:47, Amirouche Boubekki
<xxxxxx@gmail.com> a écrit :
>
> I would like to summarize my current thoughts about thefold next draft
> of JSON specification:
>
> - I will add support of JSON Sequence RFC 7464
>

See the other email, in the thread with subject line "additional
comments". The question is: can we ignore RS all the time?

> - I am willing to drop json-tokens and json-generator because they are
> too low level and specific about the actual JSON parsing algorithm

I removed json-tokens from the specification and public interface.
json-generator stay around obviously because otherwise it would not be
a json stream reader.

> - I may add a limit on the count of characters just as reminder that
> it possible to shoot yourself in the foot while reading some JSON text

Done.

> - It seems to me, it possible to parse json objects into scheme
> records with the current implementation of json-fold

I added a test for a naive case that reads a record:

  https://github.com/scheme-requests-for-implementation/srfi-180/pull/5/commits/342dd784c3647cdc7ebb5704e0e225601a7c55e7

> - The depth limit is easier to setup than the characters limit, so I
> want to keep it. I agree depending on the Scheme implementation,
> +inf.0 may be too big, the actual value is implementation specific,
> the specification suggest +inf.0

DONE

>
> Also, most importantly, even if the sample implementation pass all the
> tests, I found a bug while parsing JSON lines [0] so it might a good
> thing to go through a JSON fuzzer but I did not find one yet. Fixing
> the bug discovered with JSON lines, lead to a new implementation of
> json-read (that use json-fold) and the specification should be
> updated.

Left as an exercise to the reader, anyway, it only concerns the implementation.
Here is another bug that went through the test suite:

  https://github.com/scheme-requests-for-implementation/srfi-180/pull/5/commits/68952e4a574feeadfd5027b2879037a65ec666e3

> Also, I would be very glad to have more feedback on json-fold specification.

Here is pull-request for easy read:

  https://github.com/scheme-requests-for-implementation/srfi-180/pull/5