Attached is a patch that adds a new (web json) module. Some may remember that I submitted a patch back in 2015 (time flies, eh?) for an (ice-9 json) module that never made it in. Well, 10 years is a long time and Guile still doesn't have a built-in JSON module. Third party libraries like guile-json and guile-sjson are available, the latter being an adaptation of my original patch and the former remaining the go-to library used by larger Guile projects like Guix. There's also SRFI-180 (which sounds like a cool surfing trick!) which was published in 2020 but the API is, in my opinion, overly complicated due to generators and other things. Anyway, JSON continues to be *the* data interchange format of the web and Guile really ought to have a simple 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). This minimal, practical API is what my patch provides. I've tried my best to make it as efficient as possible. I've settled on the following JSON<->Scheme data type mapping which is nearly identical to SRFI-180 with the exception of object keys: - true and false are #t and #f - null is the symbol 'null - numbers are either exact integers (fixnums and bignums) or inexact reals (flonums, NaNs and infinities excluded) - strings are strings - arrays are vectors - objects are association lists with string keys (SRFI-180 chose symbols but JSON uses strings so strings feel the most honest) Thanks in advance for the review, - Dave