HsYAML: Pure Haskell YAML 1.2 processor

[ gpl, library, text ] [ Propose Tags ]

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.


Manual Flags


Enable exe:yaml-test component


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Versions [RSS],,,,,,,,
Change log ChangeLog.md
Dependencies base (>=4.5 && <5), bytestring (>=0.9 && <0.13), containers (>=0.4.2 && <0.7), deepseq (>=1.3.0 && <1.6), fail (>= && <4.10), ghc-prim, mtl (>=2.2.1 && <2.4), nats (>=1.1.2 && <1.2), parsec (>= && <3.2), text (>=1.2.3 && <2.2), transformers (>=0.4 && <0.7) [details]
License GPL-2.0-only[multiple license files]
Copyright 2015-2018 Herbert Valerio Riedel , 2007-2008 Oren Ben-Kiki
Author Herbert Valerio Riedel
Maintainer https://github.com/haskell-hvr/HsYAML
Revised Revision 6 made by AndreasAbel at 2023-09-14T07:42:47Z
Category Text
Home page https://github.com/haskell-hvr/HsYAML
Bug tracker https://github.com/haskell-hvr/HsYAML/issues
Source repo head: git clone https://github.com/haskell-hvr/HsYAML.git
Uploaded by AndreasAbel at 2022-05-11T07:28:44Z
Distributions Arch:, Debian:, Fedora:, LTSHaskell:, NixOS:, Stackage:, openSUSE:
Reverse Dependencies 16 direct, 212 indirect [details]
Executables yaml-test
Downloads 29457 total (165 in the last 30 days)
Rating 1.5 (votes: 8) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2022-05-11 [all 1 reports]