c7aaac0514
* 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) |
||
---|---|---|
.. | ||
DESCR | ||
distinfo | ||
Makefile | ||
PLIST |