diff --git a/index.html b/index.html index ffa3028..0ea3ffc 100644 --- a/index.html +++ b/index.html @@ -112,206 +112,51 @@ of some examples of KDL in the wild (either v1, v2, or both):

Implementations

-
-

There are two major versions of KDL. Different libraries may support one or the -other, or even provide a "hybrid" mode where both versions are attempted, since -there's no data ambiguity between v1 and v2 documents.

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
LanguageImplementationv1v2Notes
Cckdl
C#/.NETKadlet✖️
C++kdlpppart of ckdl, requires C++20
Common Lispkdlcl✖️
Crystalkdl-cr✖️
Dartkdl-dart✖️
Elixirkuddle
Gogokdl✖️
Gokdl-go✖️
HaskellHustle✖️
Javakdl4j✖️
JavaScript@bgotink/kdlFormat/comment-preserving parser
JavaScript@virtualstate/kdl✖️query only, JSX based
JavaScriptkdljs✖️
Luakdlua✖️
Nimkdl-nim✖️
OCamlocaml-kdl✖️
PHPkdl-php✖️
Pythonckdl
Pythoncuddle✖️
Pythonkdl-py
Rubykdl-rb✖️
Rustkdl-rsFormat/comment-preserving parser
Rustknus✖️Serde-style derive macros (not actual Serde)
Swiftkdl-swift✖️
XSLTxml2kdl✖️
+ +

* Supports both KDL v1 and v2

Editor Support

@@ -347,18 +192,18 @@ children.

Nodes without children are terminated by a newline, a semicolon, or the end of a file stream:

-
node1; node2; node3;
+
node1; node2; node3
 

Values

KDL supports 4 data types:

  • Strings: unquoted, "hello world", or #"hello world"#
  • -
  • Numbers: 123.45
  • +
  • Numbers: 123.45, 0xdeadbeef, #inf, #-inf, #nan
  • Booleans: #true and #false
  • Null: #null

Strings

-

It supports three different formats for string input: identifiers, quoted, and raw.

+

It supports three different formats for string input: unquoted, quoted, and raw.

node1 this-is-a-string
 node2 "this\nhas\tescapes"
 node3 #"C:\Users\zkat\raw\string"#
@@ -571,7 +416,7 @@ some other reason have need to write "JSON in KDL", continuing to use and promote something by its creator.

What about XML?

XML is actually pretty fantastic, and has long been a standard for data exchange across many industries. At the same time, XML is known to be very