<div dir="ltr"><div>We don't have a dedicated JSON library in the LLVM tree, I'd like to add one. The pressing need is for clangd, but we have other tools that read/write JSON too.</div><div><br></div><div>I'm proposing we write a new one, rather than importing a third-party library (licensing/integration reasons), on or extending YamlParser/YamlIO (usability/flexibility). I lean towards a design that parses a full DOM at once, and provides literal-like syntax for composing documents.</div><div><br></div><div>I've written a document laying out the reasons for taking this path, and my proposal for a design (with links to a prototype)</div><a href="https://docs.google.com/document/d/1OEF9IauWwNuSigZzvvbjc1cVS1uGHRyGTXaoy3DjqM4/edit">https://docs.google.com/document/d/1OEF9IauWwNuSigZzvvbjc1cVS1uGHRyGTXaoy3DjqM4/edit</a><br><div>(Comments are enabled, but high-level discussion probably belongs on the list instead.)<br></div><div><br></div><div>What do you think? I'm particularly interested in which parts of LLVM produce/consume JSON (or might want to), and what they need. I'm mostly familiar with the stuff in clang-tools-extra.</div><div><br></div><div>Cheers, Sam</div></div>