This module parses YAML serialized data into a Prolog term with
structure that is compatible with the JSON library. This library is a
wrapper around the C library libyaml
. This library forms
the basis of the YAML support in several languages and thus guarantees
compatibility of our YAML support with other languages.
null
and the booleans true
and false
.
Other untagged values are returned as a Prolog string. Tagged values are
returned as tag(Tag, String)
which is processed by
yalm_tagged/3. This internal predicate
calls the user hook
yaml:tagged/3 with the same arguments and,
if the hook fails, provides the following defaults:
!!binary
converts the Base64 to a string of bytes.!!str
explicitly keeps a string!!null
translates "null" to null
!!bool
translates to true
and false
!!int
translates to an integer!!float
translates to a floattag(Tag, String)
Input | is one of (1) a stream, (2) a term string(Data)
or (3) a file name. |
false
.true
.true
. Use false
for embedded documents.true
, minimize the term by factoring out common
structures and use &anchor
and *anchor
.
Factorization is always used if DOM is a cyclic term.!!tag
values to be decoded or
encoded.