- Rename
KDL.texttoKDL.string- Matches the rename of the
Textconstructor toString
- Matches the rename of the
- Rename
BaseDecodeErrortoDecodeErrorKind - Create new
BaseDecodeErroralias - Prune internal re-exports of
KDL.Decoder.Internal.DecodeM - Improve decoding error reporting (#28)
- Might cause slight performance regressions - please create a ticket if you notice any!
- Skip
kdl-testtests ifdotslashisn't installed
- Implement KDL v2 parser
- Implement
KDL.render, which is format-preserving - Improve rendering parse errors
- Include filepath in error messages when
decodeFileWithfails - Support adding span information
API changes:
- Rename
Textconstructor toStringinValueData - Overhauled
*Formatdata types - Removed selector functions (e.g.
nodeName=>(.name)orNode{name})
- Add
KDL.Applicative - Re-export
Control.ArrowandControl.CategoryfromKDL.Arrow, for convenience
- Remove monad
Decodernewtype, just give theMonadinstance to the canonicalDecodertype and use the sameDecodertype everywhere - Reorganize module structure
- Schema improvements
- Rename
Decoder=>DecodeArrow, setDecoder o aas alias forDecodeArrow o () a - Use v2 syntax for
#true/#false/#null
Initial release, with:
- Support for decoding v1 KDL syntax (and a subset of v2 KDL syntax)
- Decoding via Arrows or Monads
- Statically determine decoder schema