Subject: bug#77762: [PATCH] web: Add JSON module.

From: "Thompson, David" <[email-masked]>
Date: Sat, 12 Apr 2025 22:13:40 -0400

Hi Arun,

On Sat, Apr 12, 2025 at 9:39 PM Arun Isaac <[email-masked]> wrote:
>
> Thanks for the patch. I'm just trying to understand: Why do we need a
> JSON module in guile itself? Isn't guile-json, the way it is as an
> external library, good enough?

I mean, Guile doesn't *need* to include anything, but JSON is one of
the most common serialization formats around. Most language
implementations ship with a JSON library.  Guile already has a suite
of web modules and so this fits right in with those.  Over the years
I've noticed many users, especially new users, asking why Guile
doesn't ship with JSON support. I don't think you should have to
install an external library for something so common. In my own
projects I prefer to just check a JSON module into the source tree so
I don't have to add an additional dependency. guile-json is a good
library with a bunch of bells and whistles, but I think most people
just want basic read/write procedures and would be happy to take them
for granted with their Guile installation.

> > API that can read/write JSON to/from a port using only Scheme data
> > types that have read syntax (i.e. no hash tables like guile-json).
>
> guile-json does not use hash tables. guile-json uses association lists.
> I believe the decision to use hash tables was reversed many years ago.

Heh, shows how long it's been since I last used guile-json. Glad
that's changed. :)

- Dave