Remix.run Logo
zahlman a day ago

So the point is that you can use the nth competing standard, and transpile it to whatever the other systems need?

What about manipulating the data?

Does it support embedded comments, like TOML does? What happens if you round-trip that through JSON? What about the other superset features?

What does KSON stand for?

There's a lot said about JSON and YAML on the main page, but why is this better than TOML?

dmarcotte 15 hours ago | parent [-]

Hey zahiman, thanks for all the Qs. Trying to address them:

KSON (stands for: KSON Structured Object Notation) is designed not as an nth standard, but rather as an idea of how to play nice with all n-1 existing standards. Since our comments (we do support comments!) are preserved in formatting and transpilation (provided the underlying language supports comments), you may use KSON as how you edit whatever underlying config file your system wants (currently YAML and JSON are supported, with a clear path to adding other targets like TOML <https://github.com/kson-org/kson/issues/202>)

Why is it better than TOML? We don't insist that everyone agree it is! But here's two ways to contrast them: - We prefer that KSON's recursive structure makes nesting consistent. You can see for instance in the grammar that a Kson list value is a list of Kson values: https://github.com/kson-org/kson/blob/857d585ef26d9f73e080b5... - For use cases where folks are hand-editing non-trivial config, especially if they are using embedded code blocks of any kind: if they long for more help from their tooling, KSON makes that tooling possible.