- A YAML sequence is mapped to a Prolog List.
- A YAML mapping is mapped to a Prolog dict.
- Untagged scalars follow the implicit tag rules defined by
YAML, providing numbers (int, float and special floats),
null
and the booleanstrue
andfalse
. Other untagged values are returned as a Prolog string. Tagged values are returned astag(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" tonull
!!bool
translates totrue
andfalse
!!int
translates to an integer!!float
translates to a float- Anything else is returned as
tag(Tag, String)
Input | is one of (1) a stream, (2) a term string(Data)
or (3) a file name. |