[x] Improves performance by 3-4x for encode, 4-5x for decode.
[x] Gets rid of that wonky decode signature returning the tuple and actually returns an error message with offset. The signature will now be ByteString -> Either String ByteString.
[x] Actually tests using the test vectors defined in the RFC, and uses property tests to ensure invariants hold.
[x] Adds lenient decoders to the API
[x] Add -XTrustworthy annotations to the relevant exposed modules
[x] Rewrites the haddocks to be more up to date and fancy-styled.
[x] Adds benchmarks to the .cabal file so they can be run at toplevel, and make them better.
[x] Bumps the Cabal version to 1.12
This is a major API overhaul and cause lots of breakages. Consequently, I suggest we bump to version 1.0.0.0.
See title. This PR does the following:
decode
signature returning the tuple and actually returns an error message with offset. The signature will now beByteString -> Either String ByteString
.-XTrustworthy
annotations to the relevant exposed modules.cabal
file so they can be run at toplevel, and make them better.This is a major API overhaul and cause lots of breakages. Consequently, I suggest we bump to version
1.0.0.0
.