Path to this page:
./
textproc/guile-json,
JSON module for Guile
Branch: CURRENT,
Version: 4.7.3,
Package name: guile-json-4.7.3,
Maintainer: nikitaguile-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/guile30]
Master sites:
Filesize: 160.599 KB
Version history: (Expand)
- (2023-02-09) Updated to version: guile-json-4.7.3
- (2022-11-12) Updated to version: guile-json-4.7.2
- (2022-05-09) Updated to version: guile-json-4.7.1
- (2022-03-14) Updated to version: guile-json-4.7.0nb1
- (2022-01-21) Updated to version: guile-json-4.7.0
- (2021-12-17) Updated to version: guile-json-4.5.2
CVS history: (Expand)
2022-11-12 08:42:17 by Nikita | Files touched by this commit (2) | |
Log message:
textproc/guile-json: update to 4.7.2
Changelog:
record: also fix nested record for vectors
bump version to 4.7.2
record: don't call scm->record if value is *unspecified* in
(define-json-type)
Given the following example:
(define-json-type <account>
(id)
(username)
(omitted "omitted" <omitted>)
(boolean))
(define-json-type <omitted>
(name))
If `omitted` is *unspecified* there's no need to keep going through
that field.
This also rolls back part of commit 029212e.
Fixes #78
|
2022-05-09 10:45:39 by Nikita | Files touched by this commit (2) |
Log message:
guile-json: Update to 4.7.1
Changelog (adapted from ChangeLog file):
4.7.1:
records: allow optional nested records
json/record.scm: Fix spelling of "Additionally".
|
2022-03-14 16:21:39 by Nikita | Files touched by this commit (2) |
Log message:
guile-json: build with guile30
|
2022-01-21 17:34:59 by Nikita | Files touched by this commit (2) |
Log message:
guile-json: Update to 4.7.0
Changelog:
No Changelog.
|
2021-12-17 15:07:09 by Nikita | Files touched by this commit (3) |
Log message:
textproc/guile-json: Update to 4.5.2
ChangeLog (from NEWS):
* Version 4.5.2 (Feb 3, 2021)
- Add missing modules to record.scm.
* Version 4.5.1 (Jan 11, 2020)
- Allow false values in JSON mappings.
(Fixes #70)
* Version 4.5.0 (Jan 3, 2020)
- Introduce (define-json-type) a much simpler way to define JSON
objects and record mappings. It makes use of the existing
(define-json-mapping).
* Version 4.4.1 (Nov 29, 2020)
- Fixed a few parsing issues from JSON Parsing Test Suite
(https://github.com/nst/JSONTestSuite).
(Fixes #67)
* Version 4.4.0 (Oct 22, 2020)
- Record-JSON mapping now can define another optional procedure
record->scm to convert a record to an alist. (Fixes #63)
- Record-JSON mapping now allows using *unspecified* values to
indicate a field record should not be serialized. (Fixes #61)
- Improve pretty printing.
(thanks to Jonas Schürmann)
* Version 4.3.2 (Jul 23, 2020)
- Fix unicode for values from E000 and upwards.
(thanks again to pkill9 and RhodiumToad from #guile)
* Version 4.3.1 (Jul 22, 2020)
- Fix unicode codepoint with surrogate pairs.
(thanks to pkill9 and RhodiumToad from #guile)
* Version 4.3.0 (Jul 3, 2020)
- Make RECORD->JSON optional in (define-json-mapping).
* Version 4.2.0 (Jun 30, 2020)
- Introduce (define-json-mapping) which allows converting a JSON
object into a record type and vice versa. The initial code for
this feature was copied from the GNU Guix project.
|
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)
|