self(auto)- documenting encoders and decoders
Go to file
2021-10-30 12:03:59 +02:00
.github Trying to set up CI 2021-10-24 19:21:59 +02:00
autodocodec Readme and documentation efforts 2021-10-30 12:03:59 +02:00
autodocodec-aeson Got rid of the Bimap codec node in favour of a more general map codec node 2021-10-30 11:39:52 +02:00
autodocodec-api-usage removed debug code 2021-10-30 11:34:40 +02:00
autodocodec-yaml move all tests to the api usage module 2021-10-30 00:34:47 +02: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 Trying to set up CI 2021-10-24 19:21:59 +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.