HsYAML

Pure Haskell YAML 1.2 parser

https://github.com/hvr/HsYAML

Version on this page:0.1.1.2@rev:2
LTS Haskell 22.14:0.2.1.3
Stackage Nightly 2024-03-28:0.2.1.3
Latest on Hackage:0.2.1.3

See all snapshots HsYAML appears in

GPL-2.0-only licensed by Herbert Valerio Riedel
Maintained by [email protected]
This version can be pinned in stack with:HsYAML-0.1.1.2@sha256:74dea1524cb7594aa7a50ebcc3c69235f079ba74d6c26ffce806d094d0ddae4f,3887

Module documentation for 0.1.1.2

Used by 1 package in nightly-2018-11-19(full list with versions):

HsYAML is a YAML 1.2 parser implementation for Haskell.

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).

  • 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).

  • 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).

Changes

0.1.1.2

  • Tolerate BOM at each l-document-prefix (rather than only at the first one encountered in a YAML stream)
  • Workaround broken mtl-2.2.2 bundled in GHC 8.4.1 (#1)
  • Relax to GPL-2.0-or-later

0.1.1.1

  • Reject (illegal) non-scalar code-points in UTF-32 streams
  • Tolerate BOM at start of stream
  • Disambiguate choice in l-any-document production regarding token separation of c-directives-end
  • Fix c-indentation-indicator(n) grammar production when auto-detecting indentation in the presence of empty leading lines; also reject (illegal) auto-indent-level scalars with leading more-indented all-space lines
  • Complete character escape rules for double-quoted scalars
  • Minor optimizations

0.1.1.0

  • Data.YAML module promoted from TrustWorthy to Safe
  • Add FromYAML Natural instance
  • Add MonadFail, Alternative, and MonadPlus instances for Data.YAML.Parser
  • Add Data.YAML.decodeStrict function
  • Export Data.YAML.typeMismatch helper function

0.1.0.0

  • First version. Released on an unsuspecting world.