kaydle
kdl
kaydle | kdl | |
---|---|---|
3 | 14 | |
70 | 1,043 | |
- | 3.1% | |
1.2 | 5.6 | |
8 months ago | about 1 month ago | |
Rust | ||
Mozilla Public License 2.0 | GNU General Public License v3.0 or later |
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.
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
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
What are some alternatives?
ron - Rusty Object Notation
Kaitai Struct - Kaitai Struct: declarative language to generate binary data parsers in C++ / C# / Go / Java / JavaScript / Lua / Nim / Perl / PHP / Python / Ruby
json5 - JSON5 — JSON for Humans
prometheus-operator - Prometheus Operator creates/configures/manages Prometheus clusters atop Kubernetes
kdl-rs - Rust parser for KDL
config - configuration library for JVM languages using HOCON files
jsonjsc - A Python JSONDecoder library for parsing out Javascript comments in JSON files.
kdl4j - KDL Parser for the JVM
dhall-lang - Maintainable configuration files