Aram 🌈♾️ · @imsnif
325 followers · 184 posts · Server hachyderm.io

Also, I must say - I find very pleasant for serialization as well

#kdl

Last updated 1 year ago

Jan :rust: :ferris: · @janriemer
516 followers · 3008 posts · Server floss.social

The biggest unsolved mystery of software engineering remains the widespread use of .

Can we just agree to use instead please!?

#yaml #kdl #softwareEngineering #softwareDevelopment

Last updated 1 year ago

Ligature · @ligature
0 followers · 1 posts · Server hachyderm.io

I have begun working on a new model for Wander. Wander is the scripting language used for working with Ligature. Previously Wander looked more like an ML influenced language. As I started using it in practice I realized that I wasn't using most of the features of the language and I could probably simplify it. I've started implementing something that I'm considering a more command oriented approach. I'm taking a lot of inspiration from kdl.dev/ for the syntax.

#kdl

Last updated 1 year ago

Kat Marchán 🐈 · @zkat
6085 followers · 12022 posts · Server toot.cat

A new challenger approaches!

There is now a parser/printer in/for ! My first programming language and one that is still dear to me, even if I haven't hacked it in years!

Thanks to @chee for putting this together!

github.com/chee/kdlcl

#kdl #commonlisp

Last updated 2 years ago

I've been itching to use (kdl.dev) for my new project... but I recently switched to Go and I am not near skilled enough atm to write a whole implementation :blobfox0_0:

#kdl

Last updated 2 years ago

Wraithan · @wraithan
24 followers · 85 posts · Server mastodon.art

Showed a coworker kdl.dev/ and now he's making alternative setups for some of our YAML/etc with and it's so pretty.

#kdl

Last updated 2 years ago

Jan :rust: :ferris: · @janriemer
424 followers · 1072 posts · Server floss.social

@ezri

> This means that loading an untrusted yaml document is generally unsafe, as it may lead to arbitrary code execution.

Ouch! 😳

might be the next "billion dollar mistake". Seriously.

It should actually be called "YACT" => Yet Another Compilation Target.

Regarding alternatives: definitely check out - pure love! ❤️

kdl.dev/

@zkat is the maintainer of it.

#kdl #yaml

Last updated 2 years ago

JT · @jntrnr
1695 followers · 122 posts · Server fosstodon.org

psst @zkat

Had to make a vid on . It's too cool 😅

youtu.be/hx9HDcGdeH8

#kdl

Last updated 2 years ago

Shatargat · @shatargat
21 followers · 32 posts · Server dice.camp

In 32 hours, among with IRL issues, I managed to complete my first scenario draft. I will try to improvise the idea and will write one or two more drafts. This 4:49AM sleep is very well deserved! Good nacht!

#kdl #KULT #KultDivinityLost

Last updated 2 years ago

Kat Marchán 🐈 · @zkat
5353 followers · 9835 posts · Server toot.cat

Really disappointed that the config crate's API is kinda fundamentally unusable for something like , so I guess I'm just gonna have to write a dedicated crate for KDL-based file configuration :\

On the flip side: I can take advantage of all the nice span information KDL has to make it really really easy to give very rich and semantically meaningful errors for folks using that crate for their own config purposes!

I really do need to stop picking up new projects, tho...

#kdl #rust #rustlang

Last updated 2 years ago

Kat Marchán 🐈 · @zkat
5352 followers · 9820 posts · Server toot.cat

Breaking news!

I just landed github.com/kdl-org/kdl-rs/pull, which implements a full-on parser and query engine for KQL, a CSS selector-like query language designed for KDL.

Let's take a KDL document like this:

<pre>
a {
b "hi"
c 2 {
d
}
e
}
</pre>

Things you can do with kdl-rs now:

<pre>
doc.query("d")
->Some( `d` node)

doc.query_all("[val()]")
-> iterator that returns `b` and `c`

doc.query_get("b", 0)
-> Some("hi")

doc.query_get_all("a > []", 0)
> iterator that returns `"hi"` then `2`
</pre>

...and so much more!

This was all just released as part of kdl-rs 5.0.0-alpha.0. Please give it a shot if you've wanted to give KDL a go, I think it'll make working with KDL way easier in general!

#kdl #rust #rustlang

Last updated 2 years ago

Kat Marchán 🐈 · @zkat
5315 followers · 9634 posts · Server toot.cat

omg it works! My engine works beautifully!

So to summarize:

a > b 👉🏻 any child "b" of node "a"
a >> b 👉🏻 any descendant "b" of node "a"
a + b 👉🏻 any "b" that immediately follows an "a" node under the same parent
a ++ b 👉🏻 any "b" anywhere after "a" under the same parent.

I've also got multiple parallel selectors working (with the `,` operator, just like CSS), and some magic around the toplevel `scope()` selector that lets you do things like `scope() > a` to make sure you're selecting only direct children of the *current* document/node you're querying from.

Whew. It's been a couple of days but this was really fun! 💯 would parse again.

Oh and it has all the nice error reporting you would expect from a tool that uses 😉

#kdl #kql #miette #rust #rustlang

Last updated 2 years ago

Kat Marchán 🐈 · @zkat
5303 followers · 9580 posts · Server toot.cat

thinking about KQL, the query language, and how even though it's taken me a few days to implement the query _engine_, I wrote the parser in a matter of a few hours, and it basically worked on the first try, minus like two tweaks, including fancy error reporting.

Thanks miette and nom, and I guess the fact that I've gotten pretty damn good at writing parsers this far into my career lol

#kdl

Last updated 2 years ago

Kat Marchán 🐈 · @zkat
5284 followers · 9574 posts · Server toot.cat

So far, I've got the following queries working "as expected":

foo > bar
foo >> bar
:scope > foo
:scope >> foo
foo > bar > baz
foo >> bar >> baz

That all seems to be working, returning results in depth-first order. Next, siblings/neighbors (+ and ++)!

Then, I make sure all the various matcher types besides node names work (they should _already_ work, I just haven't tested them). That is, [prop = "value"], [val(2) = 1], etc.

#kdl

Last updated 2 years ago

Kat Marchán 🐈 · @zkat
5268 followers · 9540 posts · Server toot.cat

@schuelermine github.com/kdl-org/kdl/blob/kd the query language. Think CSS Selectors or XPATH, but meant for KDL itself.

#kdl

Last updated 2 years ago

Kat Marchán 🐈 · @zkat
5260 followers · 9524 posts · Server toot.cat

A implementation built right into kdl-rs is Coming Soon™️ to a crates.io near you!

I spent some time actually _using_ kdl-rs this weekend on a project, and realized the whole experience would be *massively* improved if I actually had access to KQL (and extractors), so I switched gears from a $newproject and went back to this.

It's basically CSS selectors, but for !

#kql #kdl #rust #rustlang

Last updated 2 years ago

Cassandra Granade · @cgranade
664 followers · 1586 posts · Server mathstodon.xyz

@nova XML is good in principle, but the overly verbose syntax makes it kind of awful to work with. An easier-to-use syntax for a similar data model (e.g.: ) is ideal for config.

#kdl

Last updated 2 years ago

Ivan Enderlin 🌱 :ferris: · @hywan
871 followers · 780 posts · Server fosstodon.org

KDL, kdl.dev/.

> KDL is a document language with XML-like semantics that looks like you're invoking a bunch of CLI commands! It's meant to be used both as a serialization format and a configuration language, much like JSON, YAML, or XML.

As a configuration format, it just rocks.

#kdl #document #language

Last updated 2 years ago

Kat Marchán 🐈 · @zkat
5194 followers · 9373 posts · Server toot.cat

happy Monday, it's time for a periodic reminder that exists and that you should check it out!

It's a really lightweight config/data language with more conveniences than JSON, but without the complexities and footguns of YAML, and with XML semantics.

Please check it out and tell me what you think! Learn more at kdl.dev

#kdl

Last updated 2 years ago

Shatargat · @shatargat
14 followers · 13 posts · Server dice.camp

Good morning everyone!

Today is an exciting day for me. I gathered my final native game group and it's for a campaign. I'm planning lots of and stuff for this game, thanks to the game's own cards. We already did the form thing, and everyone looks ready.

Time to unleash the eternal

#KULT #KultDivinityLost #kdl #bdsm #occult #horror #tarot #consent #chaos

Last updated 2 years ago