1# YAML support for SWI-Prolog 2 3This package provides a SWI-Prolog wrapper around 4[libyaml](https://github.com/yaml/libyaml), a popular C-based YAML 5parser that is used by several languages. 6 7An obvious option to support YAML support is to write it all in Prolog, 8as done by a another [YAML add 9on](http://www.swi-prolog.org/pack/list?p=yaml). The YAML spec however 10is rather complicated and several versions of YAML have been defined. 11This makes it attractive to reuse a widespread library that provides a 12YAML parser that is guaranteed to be compatible with YAML support of 13several other languages, dispite the fact that the wrapper is probably 14not much longer than a Prolog parser. 15 16The generated data structure is compatible with SWI-Prolog's JSON 17libraries as long a no explicit non-standard YAML tags (e.g., `!!mytype 18value` are used. Documents may be converted between JSON and YAML by 19reading using json_read_dict/2 and writing using yaml_write/2 or reading 20using yaml_read/2 and writing using json_write_dict/2 as long as the 21YAML can be expressed in JSON. 22