./textproc/guile-json, JSON module for Guile

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 4.1.0, Package name: guile-json-4.1.0, Maintainer: nikita

guile-json is a JSON module for Guile. It supports parsing
and building JSON documents according to
the http://json.org specification.

* Complies with http://json.org specification.
* Builds JSON documents programmatically using scheme data types.
* Allows JSON pretty printing.


Required to run:
[lang/guile22]

Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 147.334 KB

Version history: (Expand)


CVS history: (Expand)


   2021-10-26 13:23:42 by Nia Alarie | Files touched by this commit (1161)
Log message:
textproc: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

Unfetchable distfiles (fetched conditionally?):
./textproc/convertlit/distinfo clit18src.zip
   2021-10-07 17:02:49 by Nia Alarie | Files touched by this commit (1162)
Log message:
textproc: Remove SHA1 hashes for distfiles
   2020-06-22 10:01:49 by Nikita | Files touched by this commit (2)
Log message:
textproc/guile-json: Update to 4.1.0

* Version 4.1.0 (Jun 6, 2020)

  - Speed up number parsing by a 2x factor by avoiding using textual ports.

  - Simplify unicode string builder.

  - Improve string builder performance by not going back and forth with lists,
    strings and characters.

* Version 4.0.1 (May 17, 2020)

  - (scm->json-string) #:validate keyword argument should default to true as
    stated in the documentation.

* Version 4.0.0 (May 16, 2020)

Breaking changes:

  - (scm->json) and (scm->json-string) #:espace keyword argument has been
    renamed to #:solidus.

  - JSON null now defaults to the null symbol. This can be changed in all
    public functions with the #:null keyword argument.

Bug fixes and improvements:

  - Fix parsing of invalid numbers (e.g. "-").

  - Go back to using (cond) instead of (match) since (match) reduces
    performance.

  - The json-parser record type has been removed as the record only contained
    the port. Removing the need to access records also had a slight
    performance increase.

  - Use a plain list to read strings which brings significant speed
    improvements.

  - Replace `display` with `put-string` on JSON builder.

  - Don't use map to parse expected string, simply use (string-ref).
    (thanks to Linus Björnstam)

  - Build array list with (cons) and (reverse). Big performance increase.
    (suggested by Linus Björnstam)

  - Check (eof-object?) last instead of first. This avoids unnecessary checks
    which is the regular use-case.
    (suggested by Linus Björnstam)

  - Use string ports to parse numbers.
    (suggested by Linus Björnstam)

  - Don't need to use character-sets to detect whitespaces. JSON only defines
    four possible types of whitespaces: space, linefeed, carriage return and
    horizontal tab.
    (suggested by Linus Björnstam)

* Version 3.5.0 (Apr 21, 2020)

  - Simplify parser by using `match`. Idea taken from Chickadee's JSON parser
    (https://dthompson.us/projects/chickadee.html). This also made it easier
    to clean up some functions.

  - Better handling of invalid numbers.

  - Improve handling of EOF. Most parsing functions were not taking care of
    it.

  - Fix error when parsing objects with commas and no following elements are
    found.

* Version 3.4.0 (Apr 11, 2020)

  - Fix parsing 0 with an exponent.
    (Fixes #55)

  - Fix cross compilation.
    (thanks to Jan Nieuwenhuizen)
   2020-04-28 13:46:30 by Nikita | Files touched by this commit (29)
Log message:
adjust maintainer to my new login
   2019-12-10 19:16:57 by ng0 | Files touched by this commit (2)
Log message:
textproc/guile-json: Update to version 3.3.0

Changelog extracted from Changelog file:

bump version to 3.3.0
builder: use string instead of bytevector when throwing exception
Add info to json invalid exception
builder: add #:validate key argument to skip validation
json-builder: throw sensible error warning
parser: make sure empty array slots are considered invalid
added unit tests for scheme object validations
validate scheme object when building JSON document
bump version to 3.2.0
builder: small simplification
add a case for building the JSON of empty JSON objects
builder: document the use of symbols and numbers as JSON object keys
tests: added unit tests for invalid numbers
builder: don't allow complex numbers, inf and nan
bump version to 3.1.0
   2019-11-13 11:36:19 by ng0 | Files touched by this commit (4)
Log message:
Add textproc/guile-json version 3.1.0

guile-json is a JSON module for Guile. It supports parsing
and building JSON documents according to
the http://json.org specification.

* Complies with http://json.org specification.
* Builds JSON documents programmatically using scheme data types.
* Allows JSON pretty printing.