kdl
kaydle
Our great sponsors
kdl | kaydle | |
---|---|---|
14 | 3 | |
1,035 | 70 | |
4.3% | - | |
5.6 | 1.2 | |
12 days ago | 8 months ago | |
Rust | ||
GNU General Public License v3.0 or later | Mozilla Public License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
kdl
-
XL: An Extensible Programming Language
IMO, there’s a wide unexplored design space between the minimalism of Lisp and richness of other languages. A programming language inspired by something like KDL (https://github.com/kdl-org/kdl) has the potential to be in a very sweet spot between the two. "Everything is a node" instead of "everything is a list" is only slightly more complicated, but also vastly more readable that a soup of parenthesis.
- Things you didn't know you could fuzz - FuzzingWeekly CW17
- Things you didn’t know you could fuzz: - FuzzingWeekly CW17
-
SDLang – Simple Declarative Language
KDL is a variant of SDLang that’s worth checking out.
https://github.com/kdl-org/kdl
- KDL
-
Parsing JSON is a Minefield 💣 (2018)
Either way I've got high hopes for KDL becoming the new gold standard for clean, flexible data formats that are editable by hand.
-
The KDL Document Language
I'd love to understand why all the advertised implementations have permissive licenses except for the Rust implementation, which is released under the Parity Public License 7.0.0 [1]? This seems to be as restrictive as the GPL, no?
In my mind, copyleft licenses applied to infrastructural projects like kdl-rs prematurely limits their adoption and promotes the development of alternatives with more permissive licensing, since the spec is released under a Creative Commons license [2].
[1]: https://github.com/kdl-org/kdl-rs/blob/87f836134c1d901ff5ce6...
[2]: https://github.com/kdl-org/kdl/blob/785abebfc507ff6b7bdeac07...
-
The KDL Document Language, an alternative to YAML/JSON/XML
p.s. if anyone is interested in helping or just wants the info, this is the tracking issue for implementations supporting 1.0 (the actual thing that just got released): https://github.com/kdl-org/kdl/issues/144
-
ParserObjects Parser Combinator Library for .NET
Oh nice. It will be a nice library to use to parse KDL (https://github.com/kdl-org/kdl)
-
The YAML file of Prometheus Operator has over 13k lines, one of the longest YAML files on GitHub ever
It's still in its infancy but I'm keeping an eye on kdl
kaydle
-
impl serde::Deserialize... is it really that complicated?
Now, in practice, most deserializers will transparently forward themselves through visit_newtype_struct (json, yaml, MessagePack). However, because deserialize_newtype_struct has access to the type name being deserialized, and some deserializers will use this type name to inform custom behavior. For instance, in my (in-progress) implementation of KDL uses type names (including newtype names) to inform the names of nodes in homogeneous lists, bridging the gap between serde's collection-oriented model and KDL's node-oriented model. You can also see that the json and MessagePack serde implementations use special typenames to opt-in to custom behavior (like serde-json's raw-value feature).
- The KDL Document Language
-
The KDL Document Language, an alternative to YAML/JSON/XML
My implementation is here: https://github.com/Lucretiel/kaydle/blob/main/kaydle-primitives/src/number.rs
What are some alternatives?
ron - Rusty Object Notation
json5 - JSON5 — JSON for Humans
Kaitai Struct - Kaitai Struct: declarative language to generate binary data parsers in C++ / C# / Go / Java / JavaScript / Lua / Nim / Perl / PHP / Python / Ruby
prometheus-operator - Prometheus Operator creates/configures/manages Prometheus clusters atop Kubernetes
config - configuration library for JVM languages using HOCON files
kdl-rs - Rust parser for KDL
jsonjsc - A Python JSONDecoder library for parsing out Javascript comments in JSON files.
dhall-lang - Maintainable configuration files
kdl4j - KDL Parser for the JVM