db48x
kdl
db48x | kdl | |
---|---|---|
1 | 14 | |
55 | 1,044 | |
- | 3.2% | |
9.9 | 5.6 | |
9 days ago | about 1 month ago | |
C++ | ||
GNU Lesser General Public License v3.0 only | 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.
db48x
-
XL: An Extensible Programming Language
The current state is "on backburner by lack of time". Projects like https://grenouillebouillie.wordpress.com/2022/03/07/a-theory... and https://github.com/c3d/DB48X-on-DM42/tree/stable have been consuming most of my spare time cycles.
Here are factors playing a role in my current thinking:
1/ the LLVM debacle. I just can't follow them changing the APIs all the time. I gave up on LLVM for now.
2/ Rust being the first language introducing a concept that was not trivial to introduce via an XL library, lifetimes. I think that I nailed a design now, but it annoyed me for a while, and the design is not implemented.
3/ I spent some time documenting where I wanted to go, notably the type system. As a result, I found that the language was becoming complicated, which annoys me. I'm trying to get back to super-simple roots, but I have no clear path towards this goal yet.
4/ I want to to unify the self-compiling compiler and the dynamic one. The self-compiler only compiles an older dialect of the language.
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?
xl - A minimalist, general-purpose programming language based on meta-programming and parse tree rewrites
ron - Rusty Object Notation
json5 - JSON5 — JSON for Humans
prometheus-operator - Prometheus Operator creates/configures/manages Prometheus clusters atop Kubernetes
config - configuration library for JVM languages using HOCON files
jsonjsc - A Python JSONDecoder library for parsing out Javascript comments in JSON files.
dhall-lang - Maintainable configuration files
Slim - Slim is a template language whose goal is to reduce the syntax to the essential parts without becoming cryptic.
LIBUCL - Universal configuration library parser
Protobuf - Protocol Buffers - Google's data interchange format
Kaitai Struct - Kaitai Struct: declarative language to generate binary data parsers in C++ / C# / Go / Java / JavaScript / Lua / Nim / Perl / PHP / Python / Ruby
kaydle - An alternative implementation of Kat's Document Language, including serde integration