This version can be pinned in stack with:yaml-0.11.11.2@sha256:6f0a1859e0fb3068e50dbc7fe9bf9a26847741bc24344e35e16a03711a18f88d,5178
Module documentation for 0.11.11.2
DataData.YamlData.Yaml.Aeson
Data.Yaml.Builder
Data.Yaml.Config
Data.Yaml.Include
Data.Yaml.Internal
Data.Yaml.Parser
Data.Yaml.Pretty
Data.Yaml.TH
Depends on 19 packages
(full list with versions ) :
aeson ,
attoparsec ,
base ,
bytestring ,
conduit ,
containers ,
directory ,
filepath ,
libyaml ,
mtl ,
optparse-applicative ,
resourcet ,
scientific ,
template-haskell ,
text ,
transformers ,
unordered-containers ,
vector ,
yaml Used by 32 packages in
nightly-2024-01-10 (full list with versions ) :
aeson-diff ,
amazonka-test ,
autodocodec-yaml ,
binance-exports ,
bm ,
configuration-tools ,
fix-whitespace ,
frontmatter ,
gemini-exports ,
hakyll ,
hie-bios ,
hindent ,
hinfo ,
hpack ,
hpc-lcov ,
http-client-overrides ,
keter ,
mega-sdist ,
mustache ,
nvim-hs-contrib ,
nvim-hs-ghcid ,
pagure-cli ,
pandoc ,
pandoc-plot ,
pantry ,
sbp ,
stache ,
termonad ,
typst ,
ua-parser ,
yaml ,
yaml-unscrambler yaml
Provides support for parsing and emitting Yaml documents.
Data.Yaml provides a high-level interface based around the JSON datatypes provided by the aeson package. It uses Text.Libyaml from libyaml in its implementation of the low-level yaml encoder/decoder.
Examples
Usage examples can be found in the Data.Yaml documentation or in the examples directory.
Additional yaml 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.
Executables
Converters json2yaml and yaml2json can be built by disabling flag no-exe, e.g., one of:
cabal install yaml -f-no-exe
stack install yaml --flag yaml:-no-exe
ChangeLog for yaml
0.11.11.2
0.11.11.1
For optparse-applicative-0.18: use pretty instead of text #216
0.11.11.0
Fix ambiguous occurrence AesonException
0.11.10.0
Undo previous change (breakage with aeson 2)
0.11.9.0
Data.Yaml.Pretty: provide key-sorting function with path to parent object #206
0.11.8.0
Export Parse and StringStyle #204
0.11.7.0
0.11.6.0
yaml2json: add --help and --version options #197
json2yaml: add --help and --version options #198
Add the -o options to both yaml2json and json2yaml #200
0.11.5.0
New functions capable of parsing YAML streams containing multiple documents into a list of results:
decodeAllEither'
decodeAllFileEither
decodeAllFileWithWarnings
decodeAllThrow
decodeAllFileThrow
0.11.4.0
add ToYaml instance for String #186
0.11.3.0
Don’t wrap up async exceptions #185
0.11.2.0
Reduces some of the code duplication between the encode and encodePretty functions
The output of encodePretty has been improved:
Multiline strings now use Literal style instead of SingleQuoted
Special keys are now quoted in mappings #179
Support for complex keys in mappings: #182
Adds complexMapping function to Data.Yaml.Builder
Decode functions now return a NonStringKey error when attempting to decode a mapping with a complex key as it is not possible to decode these to an Aeson Value
Adds missing ToYaml instances
0.11.1.2
Compiles with GHC 8.8.1 (MonadFail split)
0.11.1.1
Use the appropriate Scientific rendering function to avoid a memory overflow when rendering. The previously used function from aeson would not use scientific notation, and could use large amounts of memory for values such as 1e9999999999999.
0.11.1.0
Better error messages in the Data.Yaml.Config module #168
Add LoadSettingsException exception and remove error printing from loadYamlSettings #172
0.11.0.0
Split out the libyaml and Text.Libyaml code into its own package. #145
0.10.4.0
Add decodeMarked and decodeFileMarked functions to Text.Libyaml, and
extend native bindings to extract mark information. #157
0.10.3.0
Add support for anchors and aliases to Data.Yaml.Builder #155
Fix test suite for 32 bit machines #158
0.10.2.0
Add EncodeOptions and FormatOptions to control the style of the encoded YAML. #153
Default to using literal style for multiline strings #152
0.10.1.1
Correctly declare libyaml dependency on system-libyaml flag #151
0.10.1
Avoid incurring a semigroups dependency on recent GHCs.
Fix a space leak that was introduced with 0.10.0 #147
0.10.0
Add decodeFileWithWarnings which returns warnings for duplicate fields
0.9.0
Expose style and tags on mappings and sequences in Text.Libyaml #141
0.8.32
Escape keys as necessary #137
Support hexadecimal and octal number values #135
More resilient isNumeric (should reduce cases of unneeded quoting)
hpackify
src subdir
0.8.31.1
0.8.31
Add decodeThrow and decodeFileThrow convenience functions.
Upgrade libyaml versions
Deprecate decode and decodeEither
0.8.30
Removed AppSettings mentioned in loadYamlSettings error message.
0.8.29
Deprecated decodeFile #129
Turn off executables by default #103
0.8.28
0.8.27
0.8.26
Add Semigroup instance #123
0.8.25.2
Use throwM instead of monadThrow
0.8.25.1
Drop aeson-qq dep (incompatible with Stackage Nightly)
0.8.25
Tweaks to the executable yaml2json #119 :
Add command-line option -h and --help to show help message
Error messages are now written to stderr instead of stdout
0.8.24
New encodePretty option setConfDropNull to drop null values from objects #116
0.8.23.3
Avoid over-escaping * #113
0.8.23.2
0.8.23.1
Update CPP MIN_VERSION_* checks #109
0.8.23
Re-export the with helpers from aeson
0.8.22.1
Make numeric string detection slightly smarter so, e.g., . does
not get quoted
0.8.22
Update to libyaml hosted on Github #105
0.8.21.2
Fix wrong file not found exception in Data.Yaml.Include with pre-1.2.3.0 directory #104
0.8.21.1
Add missing test files #102
0.8.21
Decode empty inputs as Null #101
0.8.20
0.8.19.0
0.8.18.7
Add O_TRUNC when opening files
0.8.18.6
s/fdopen/_fdopen on Windows #96
0.8.18.5
Properly fix previous bug (fixes #94)
0.8.18.4
Remove file with non-ASCII name due to Stack/cabal-install/Hackage
restrictions (see #92 )
0.8.18.2
Handle non-ASCII filenames correctly on Windows #91
0.8.18.1
Improve prettyPrintParseException when context is empty #89
0.8.18
Switched yaml decode function for config file readers in Data.Yaml.Config to
the one from Data.Yaml.Include that supports !include syntax.
0.8.17.2
Fix pretty-printing order of UnexpectedEvent’s fields (fixes #84 ) #85
0.8.17.1
0.8.17
0.8.16.1
0.8.16
Add env variable parsing. loadYamlSettings can read config values from the environment with Yaml that specifies an env var.
The syntax is
var: _env:ENV_VAR:default
0.8.15.3
Give a warning when compiling with GHCJS
0.8.15.2
Canonicalise Monad instances #76
0.8.15.1
Compile with aeson below 0.7 #70
0.8.15
Parse Scientific directly, avoiding loss in precision. #68
0.8.14
Pretty print improvements for exceptions #67
0.8.13
0.8.12
Proper handling of String "+123" #64
0.8.11
Function to print prettier parse exceptions #59
0.8.10
Add the Data.Yaml.Include module
Stackage is a service provided by the
Haskell Foundation
│ Originally developed by
FP Complete