FAQ

How do you pronounce YS?

We like to say "wise" since its how you might pronounce the plural of "Y". You can also say "why-ess" for "Y S" or the long name for YS: "YAMLScript" ("YAML (rhymes with camel) Script").

YS has many side projects like HelmYS ("helm-wise") or SchemaYS ("schema-wise").

Is YS really YAML?

Yes. Empirically. The YS compiler has 7 stages (phases) to transform YS (YAML) into Clojure. The first phase is call parse and it currently uses the SnakeYAML Engine parser External link code for this process.

Who created YS?

YS was created by Ingy döt Net, a founding creator and current maintainer of the YAML Data Language External link .

What is the preferred file extension for YS files?

The preferred file extension for YS files is .ys, but you can use .yaml or .yml if you prefer for most files. The ys command line tool doesn't look at the file extension and will treat them all the same.

If you are enhancing an existing YAML file, there is no need to change the file extension to .ys. You can just start using YS features in the file.

On the other hand, YS libraries loaded with the use function are required to have the .ys extension.

Clojure is a JVM language. Does YS need the JVM?

No. YS is written in Clojure and exposes the Clojure runtime ecosystem, but there is no JVM involved. This is thanks to Gloat External link and Glojure External link , which compile Clojure source into standalone Go executables and shared libraries.

This is how the ys binary and the libys.so shared library are created.

Note

Even the YS build system does not require you to have any Java or Clojure stuff installed. The Makefile downloads its managed tools under ./.cache/.

Do I need to know Clojure to use YS?

All YS/YAML code is compiled to Clojure and evaluated when you run or load it.

That said, you can get pretty far with YS without knowing any Clojure. Just read the docs and look at the examples.

To become a YS expert, you will need to know Clojure (and YAML) well.