ASDF-flavoured YAML: document model, parser and emitter.
ASDF stores its tree as a YAML 1.1 document with three requirements that general-purpose Rust YAML crates do not currently meet together:
- Tags are the type system.
!core/ndarray-1.1.0is what makes a mapping an array, so tags must survive parsing and be re-emitted. - Anchors and aliases are load-bearing. Files in the standard's own reference corpus share nodes through aliases, and a round trip must not silently duplicate or drop them.
- Scalar style carries meaning. A quoted
"123"is a string where an unquoted123is an integer.
This crate builds on saphyr-parser's event stream, which surfaces tags,
anchor ids and styles, and adds the document model and emitter on top.