self(auto)- documenting encoders and decoders
Go to file
2021-10-31 23:31:33 +01:00
.github remove obsolete funding options 2021-10-30 12:05:05 +02:00
autodocodec renamed some type variables 2021-10-31 23:31:33 +01:00
autodocodec-aeson object codec for json objects 2021-10-31 23:16:30 +01:00
autodocodec-api-usage strip the newlines off yaml encodings in the ValueSchema docs 2021-10-30 20:38:08 +02:00
autodocodec-yaml Docs, docs, and more docs 2021-10-31 12:38:36 +01:00
nix Refactor api usage tests into separate package 2021-10-30 00:29:59 +02:00
.gitignore trying a thing 2021-10-20 17:59:50 +02:00
.hlint.yaml a finite recursive schema 2021-10-29 19:56:07 +02:00
ci.nix build fewer versions on ci because the haddocks are quite stupid about it 2021-10-30 13:00:37 +02:00
default.nix Trying to set up CI 2021-10-24 19:21:59 +02:00
LICENSE trying a thing 2021-10-24 19:29:57 +02:00
README.md Readme and documentation efforts 2021-10-30 12:03:59 +02:00
shell.nix test failure 2021-10-24 19:34:17 +02:00
stack.yaml Refactor api usage tests into separate package 2021-10-30 00:29:59 +02:00

Autodocodec

Autodocodec is short for "self(auto)- documenting encoder and decoder".

In short: You write one (1) instance, of the 'Codec' type-class, for your type, and you get:

DISCLAIMER: This is a work in progress.

This is not ready for production, it is not in use in any of my own projects yet, I do not recommend using it yet.

  • Documentation is not complete.
  • Some pieces of the implementation

Goals:

  • Correct-by-construction encoding and decoding, without generating code.
  • Generate automatically-correct documentation from code.
  • Fun but not important: Be able to provide instances without depending on aeson and/or yaml.
  • Would be nice: support for recursive types.