I've just released D:YAML 0.2 . This release brings emitting functionality, finishing the main part of D:YAML feature set. From now on, the focus will be on polishing D:YAML, making code more maintainable, optimizing and improving documentation.
D:YAML is a YAML parser and emitter library for D. Emitting code has been fully implemented (mostly translated from PyYAML), along with support for emitting custom types (loading custom types already works with 0.1). YAML tags are now stored in nodes, allowing D:YAML to be more compliant to the specification. Many scanner, composer and constructor bugs have been fixed. Loader API has been broken to make it more extensible in future - Representer and Constructor are no more specified in the constructor, and the load() shortcut functions have been removed, as all that's needed to load a YAML document now is Loader("file.yaml").load() . Tutorials, API documentation and examples have been updated to reflect the changes. Note that D:YAML is still a work in progress and its API might yet see some compatibility breaking changes. Basic Loader/Dumper API is unlikely to break any more, but it will be updated when std.stream is rewritten. GitHub: https://github.com/kiith-sa/D-YAML Docs : dyaml.alwaysdata.net/docs You can get D:YAML 0.2 here: https://github.com/kiith-sa/D-YAML/downloads