HsYAML-0.2.1.0: Pure Haskell YAML 1.2 processor

HsYAML-0.2.1.0: Pure Haskell YAML 1.2 processor

HsYAML is a YAML 1.2 processor, i.e. a library for parsing and serializing YAML documents.

Features of HsYAML include:

  • Pure Haskell implementation with small dependency footprint and emphasis on strict compliance with the YAML 1.2 specification.
  • Direct decoding to native Haskell types via (aeson-inspired) typeclass-based API (see Data.YAML).
  • Allows round-tripping while preserving ordering, anchors, and comments at Event-level.
  • Support for constructing custom YAML node graph representation (including support for cyclic YAML data structures).
  • Support for the standard (untyped) Failsafe, (strict) JSON, and (flexible) Core "schemas" providing implicit typing rules as defined in the YAML 1.2 specification (including support for user-defined custom schemas; see Data.YAML.Schema).
  • Support for emitting YAML using Failsafe, (strict) JSON, and (flexible) Core "schemas" (including support for user-defined custom encoding schemas; see Data.YAML.Schema).
  • Event-based API resembling LibYAML's Event-based API (see Data.YAML.Event).
  • Low-level API access to lexical token-based scanner (see Data.YAML.Token).

See also the HsYAML-aeson package which allows to decode and encode YAML by leveraging aeson's FromJSON and ToJSON instances.

Signatures

Modules