[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Including sjson (formerly (ice-9 json)) and fash.scm in guile proper?
From: |
Christopher Allan Webber |
Subject: |
Including sjson (formerly (ice-9 json)) and fash.scm in guile proper? |
Date: |
Mon, 08 May 2017 18:17:01 -0500 |
User-agent: |
mu4e 0.9.18; emacs 25.2.1 |
Hello!
So a while ago, David Thompson submitted (ice-9 json) to Guile proper.
A few changes were requested, so it hadn't made it in. In the meanwhile
I began using it for a number of projects. I also added some
modifications and extensions: #nil became 'null for the representation
of null values, the representation got a bit easier to read for deeply
nested lists-of-dicts-of-lists-of-dicts (moved from '(@ (key . val)) to
'(@ (key val)) after some discussion with David Thompson), I added a
pretty printer, and I also added fash support, snarfing fash.scm from
Andy Wingo (I had a number of cases where I had json documents with a
*lot* of key / value pairs and I was operating on them, and being able
to read/write from a constant time datastructure as an option was
needed).
I released this as an independed library, which is even now packaged in
Guix as guile-sjson.
However, I wonder if we should package this in Guile proper. There is
still one issue to resolve iirc, I should add more specific exception
names.
The biggest problem to me seems that we would also want to include
Wingo's fash.scm in Guile proper. Personally, I think this would be a
big win: highly performant immutable hashmaps are desirable (and though
we have vhashes, setting an existing value keeps the old value, and are
not as fast as fashes in my experience).
So:
- Are Guile's developers open to having an (ice-9 fash) module?
- And should I submit (ice-9 json), with my changes?
Thanks!
- Chris
- Including sjson (formerly (ice-9 json)) and fash.scm in guile proper?,
Christopher Allan Webber <=