kdl
LIBUCL
Our great sponsors
kdl | LIBUCL | |
---|---|---|
14 | 5 | |
1,035 | 1,594 | |
4.3% | - | |
5.6 | 7.9 | |
12 days ago | 4 days ago | |
C | ||
GNU General Public License v3.0 or later | BSD 2-clause "Simplified" License |
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
LIBUCL
-
That's a Lot of YAML
Have you seen ucl? https://github.com/vstakhov/libucl
It seems very similar.
-
Structured configuration in Go
Structured configuration is the type of configuration language I wanted for Djinn, whereby parameters could be grouped together into blocks, and nested within each other. Hence, the structure. The language I came up with was heavily influenced by HCL, and libucl and has support for duration and size literal values. Below is what the language looks like,
- Libucl: Universal configuration language parser library
- An Intuition for Lisp Syntax
-
The YAML file of Prometheus Operator has over 13k lines, one of the longest YAML files on GitHub ever
Here you go: https://github.com/vstakhov/libucl
What are some alternatives?
ron - Rusty Object Notation
yaml-cpp - A YAML parser and emitter in C++
json5 - JSON5 — JSON for Humans
frozen - JSON parser and generator for C/C++ with scanf/printf like interface. Targeting embedded systems.
prometheus-operator - Prometheus Operator creates/configures/manages Prometheus clusters atop Kubernetes
YAJL - A fast streaming JSON parsing library in C.
config - configuration library for JVM languages using HOCON files
RapidJSON - A fast JSON parser/generator for C++ with both SAX/DOM style API
jsonjsc - A Python JSONDecoder library for parsing out Javascript comments in JSON files.
JsonCpp - A C++ library for interacting with JSON.
dhall-lang - Maintainable configuration files
Boost.PropertyTree - Boost.org property_tree module