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
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
.
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
and
Glojure
, 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.