YAML (a recursive acronym for “YAML Ain’t Markup Language”) is a data serialization language designed to be human-friendly and work well with modern programming languages for common everyday tasks.
Together with the Unicode standard for characters, the YAML specification provides all the information necessary to understand YAML Version 1.2 and to creating programs that process YAML information.
This specification is both an introduction to the YAML language and the concepts supporting it; it is also a complete reference of the information needed to develop applications for processing YAML. Open, interoperable and readily understandable tools have advanced computing immensely.
YAML (tm) is an international collaboration to make a data serialization language which is both human readable and computationally powerful. The founding members of YAML are Ingy döt Net (author of the Perl module Data::Denter), Clark Evans, and Oren Ben-Kiki.
This specification is a draft reflecting consensus reached by members of the yaml-core mailing list. Any questions regarding this draft should be raised on this list.
This specification is both an introduction to the YAML language and the concepts supporting it; and also a complete reference of the information needed to develop applications for processing YAML. Open, interoperable and readily understandable tools have advanced computing immensely.
This document reflects the third version of YAML data serialization language. The content of the specification was arrived at by consensus of its authors and through user feedback on the yaml-core mailing list. We encourage implementers to please update their software with support for this version.
The Ruby Struct class is registered as a YAML builtin type through Ruby, so it can safely be serialized. To use it, first make sure you define your Struct with Struct::new.