Support for serialising Haskell to and from Yaml.
C Haskell C++ Makefile
Latest commit 64bf822 Sep 19, 2016 2 @snoyberg Add O_TRUNC when opening a file CC @Blaisorblade
Without this, when overwriting a preexisting file with encodeFile, if
the new file is smaller, old content would still be kept at the end. To
see this bug in practice, see:

commercialhaskell/all-cabal-metadata@fbc77b0#diff-45fc817b365b94b2e1f375bbf374a81eR36

README.md

yaml

Provides support for parsing and emitting Yaml documents.

This package includes the full libyaml C library version 0.1.5 by Kirill Simonov in the package so you don't need to worry about any non-Haskell dependencies.

The package is broken down into two primary modules. Data.Yaml provides a high-level interface based around the JSON datatypes provided by the aeson package. Text.Libyaml provides a lower-level, streaming interface. For most users, Data.Yaml is recommended.

Examples

Usage examples can be found in the Data.Yaml documentation or in the examples directory.

Additional modules

  • Data.Yaml.Include supports adding !include directives to your YAML files.
  • Data.Yaml.Builder and Data.Yaml.Parser allow more fine-grained control of parsing an rendering, as opposed to just using the aeson typeclass and datatype system for parsing and rendering.
  • Data.Yaml.Aeson is currently a re-export of Data.Yaml to explicitly choose to use the aeson-compatible API.