Skip to content

YAML get YS in PHP, C#, Lua & Haskell

YS is a YAML loader module. On one hand it does have super powers, but on the other hand it's just a plain YAML loader.

A YAML loader is a utility that can turn YAML into a data structure. Every modern language has a YAML loader. Most have many.

YS is the first YAML loader that was made for every programming language.

Well that's the goal anyway.

For the past year it's only had loaders for 11 languages: Clojure External link , Crystal External link , Go External link , Java External link , Julia External link , NodeJS External link , Perl External link , Python External link , Raku External link , Ruby External link , and Rust External link .

Until this week, that is...

This week it got four more!🔗

The YS language bindings are fairly simple.

They are each an FFI binding to the libys shared library.

Codewise they are only ~100-200 lines of code in any given language.

In the past the YS team would find a person who was proficient in a language to write the binding.

This week we decided to try a little AI.

I wouldn't say it was a completely smooth process. Each one took several hours to complete.

But in the grand scheme of things, if you can support a new language in a day, that feels like a win.

42 Languages🔗

From the start of YS, the goal has always been to support at least 42 languages.

Rosetta Code currently claims to have 973 languages.

But I'm talking about languages that at least support JSON and have a library registry or package distribution system.

I have a list of 45 candidate languages, each with a different registry, so I'd say 42 is a reachable goal.

Comments