Path to this page:
Subject: CVS commit: pkgsrc/textproc/guile-json
From: Nikita
Date: 2020-06-22 10:01:49
Message id: 20200622080149.58398FB28@cvs.NetBSD.org
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)
Files: