- 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