@@ -117,38 +117,38 @@ of some examples of KDL in the wild (either v1, v2, or both):
117117
118118## Implementations
119119
120- > There are two major versions of KDL. Different libraries may support one or the
121- > other, or even provide a "hybrid" mode where both versions are attempted, since
122- > there's no data ambiguity between v1 and v2 documents.
123-
124- | Language | Implementation | v1 | v2 | Notes |
125- | --- | --- | --- | --- | --- |
126- | C | [ ckdl ] ( https://github.com/tjol/ckdl ) | ✅ | ✅ | |
127- | C#/.NET | [ Kadlet ] ( https://github.com/oledfish/Kadlet ) | ✅ | ✖️ | |
128- | C++ | [ kdlpp ] ( https://github.com/tjol/ckdl ) | ✅ | ✅ | part of ckdl, requires C++20 |
129- | Common Lisp | [ kdlcl ] ( https://github.com/chee/kdlcl ) | ✅ | ✖️ | |
130- | Crystal | [ kdl-cr ] ( https://github.com/danini-the-panini/kdl-cr ) | ✅ | ✖️ | |
131- | Dart | [ kdl-dart ] ( https://github.com/danini-the-panini/kdl-dart ) | ✅ | ✖️ | |
132- | Elixir | [ kuddle ] ( https://github.com/IceDragon200/kuddle ) | ✅ | ✅ | |
133- | Go | [ gokdl ] ( https://github.com/lunjon/gokdl ) | ✅ | ✖️ | |
134- | Go | [ kdl-go ] ( https://github.com/sblinch /kdl-go ) | ✅ | ✖️ | |
135- | Haskell | [ Hustle ] ( https://github.com/fuzzypixelz/Hustle ) | ✅ | ✖️ | |
136- | Java | [ kdl4j ] ( https://github.com/hkolbeck/kdl4j ) | ✅ | ✖️ | |
137- | JavaScript | [ @ bgotink/ kdl] ( https://github.com/bgotink /kdl ) | ✅ | ✅ | Format/comment-preserving parser |
138- | JavaScript | [ @ virtualstate/ kdl] ( https://github.com/virtualstate/ kdl ) | ✅ | ✖️ | query only, JSX based |
139- | JavaScript | [ kdljs ] ( https://github.com/kdl-org/kdljs ) | ✅ | ✖️ | |
140- | Lua | [ kdlua ] ( https://github.com/danini-the-panini/kdlua ) | ✅ | ✖️ | |
141- | Nim | [ kdl-nim ] ( https://github.com/Patitotective/kdl-nim ) | ✅ | ✖️ | |
142- | OCaml | [ ocaml-kdl ] ( https://github.com/Bannerets/ocaml-kdl ) | ✅ | ✖️ | |
143- | PHP | [ kdl-php ] ( https://github.com/kdl-org/kdl-php ) | ✅ | ✖️ | |
144- | Python | [ ckdl ] ( https://github.com/tjol/ckdl ) | ✅ | ✅ | |
145- | Python | [ cuddle ] ( https://github.com/djmattyg007/python-cuddle ) | ✅ | ✖️ | |
146- | Python | [ kdl-py ] ( https://github.com/tabatkins/kdlpy ) | ✅ | ✅ | |
147- | Ruby | [ kdl-rb ] ( https://github.com/danini-the-panini/kdl-rb ) | ✅ | ✖️ | |
148- | Rust | [ kdl-rs ] ( https://github.com/kdl-org /kdl-rs ) | ✅ | ✅ | Format/comment-preserving parser |
149- | Rust | [ knus ] ( https://crates.io/crates/knus/ ) | ✅ | ✖️ | Serde- _ style _ derive macros (not actual Serde) |
150- | Swift | [ kdl-swift ] ( https://github.com/danini-the-panini/kdl-swift ) | ✅ | ✖️ | |
151- | XSLT | [ xml2kdl ] ( https://github.com/Devasta/XML2KDL ) | ✅ | ✖️ | |
120+ * C - [ ckdl ] ( https://github.com/tjol/ckdl ) \*
121+ * C#/.NET - [ Kadlet ] ( https://github.com/oledfish/Kadlet )
122+ * C++ - [ kdlpp ] ( https://github.com/tjol/ckdl ) \* (part of ckdl, requires C++20)
123+ * Common Lisp - [ kdlcl ] ( https://github.com/chee/kdlcl )
124+ * Crystal - [ kdl-cr ] ( https://github.com/danini-the-panini/kdl-cr )
125+ * Dart - [ kdl-dart ] ( https://github.com/danini-the-panini/kdl-dart )
126+ * Elixir - [ kuddle ] ( https://github.com/IceDragon200/kuddle ) \*
127+ * Go -
128+ * [ gokdl ] ( https://github.com/lunjon/gokdl )
129+ * [ kdl-go ] ( https://github.com/sblinch/kdl-go )
130+ * Haskell - [ Hustle ] ( https://github.com/fuzzypixelz/Hustle )
131+ * Java - [ kdl4j ] ( https://github.com/hkolbeck/kdl4j )
132+ * JavaScript -
133+ * [ @ bgotink/kdl ] ( https://github.com/bgotink/kdl ) \* (Format/comment-preserving parser)
134+ * [ @ virtualstate/ kdl] ( https://github.com/virtualstate /kdl ) (query only, JSX based)
135+ * [ kdljs ] ( https://github.com/kdl-org/kdljs )
136+ * Lua - [ kdlua ] ( https://github.com/danini-the-panini/kdlua )
137+ * Nim - [ kdl-nim ] ( https://github.com/Patitotective /kdl-nim )
138+ * OCaml - [ ocaml- kdl] ( https://github.com/Bannerets/ocaml- kdl )
139+ * PHP - [ kdl-php ] ( https://github.com/kdl-org/kdl-php )
140+ * Python -
141+ * [ ckdl ] ( https://github.com/tjol/ckdl ) \*
142+ * [ cuddle ] ( https://github.com/djmattyg007/python-cuddle )
143+ * [ kdl-py ] ( https://github.com/tabatkins/kdlpy ) \*
144+ * Ruby - [ kdl-rb ] ( https://github.com/danini-the-panini/kdl-rb )
145+ * Rust -
146+ * [ kdl-rs ] ( https://github.com/kdl-org/kdl-rs ) (Format/comment-preserving parser) \*
147+ * [ knus ] ( https://crates.io/crates/knus/ ) (Serde- _ style _ derive macros (not actual Serde))
148+ * Swift - [ kdl-swift ] ( https://github.com/danini-the-panini /kdl-swift )
149+ * XSLT - [ xml2kdl ] ( https://github.com/Devasta/XML2KDL )
150+
151+ \* Supports both KDL v1 and v2
152152
153153</section >
154154
@@ -206,21 +206,21 @@ Nodes without children are terminated by a newline, a semicolon, or the end of
206206a file stream:
207207
208208``` kdl
209- node1; node2; node3;
209+ node1; node2; node3
210210```
211211
212212### Values
213213
214214KDL supports 4 data types:
215215
216216* Strings: ` unquoted ` , ` "hello world" ` , or ` #"hello world"# `
217- * Numbers: ` 123.45 `
217+ * Numbers: ` 123.45 ` , ` 0xdeadbeef ` , ` #inf ` , ` #-inf ` , ` #nan `
218218* Booleans: ` #true ` and ` #false `
219219* Null: ` #null `
220220
221221#### Strings
222222
223- It supports three different formats for string input: identifiers , quoted, and raw.
223+ It supports three different formats for string input: unquoted , quoted, and raw.
224224
225225``` kdl
226226node1 this-is-a-string
@@ -494,7 +494,7 @@ JSON](https://github.com/kdl-org/kdl/blob/main/JSON-IN-KDL.md).
494494
495495#### What about TOML?
496496
497- It nests very poorly. It doesn't fare well with large files.
497+ It nests very poorly. It doesn't fare well with large files. Also, I felt some discomfort [ continuing to use and promote something by its creator ] ( https://en.wikipedia.org/wiki/Tom_Preston-Werner#Resignation_from_GitHub ) .
498498
499499#### What about XML?
500500
0 commit comments