self(auto)- documenting encoders and decoders
Go to file
2021-10-30 20:28:06 +02:00
.github remove obsolete funding options 2021-10-30 12:05:05 +02:00
autodocodec refactor out an orNull helper 2021-10-30 20:28:06 +02:00
autodocodec-aeson put the default value in the key schema directly 2021-10-30 20:22:25 +02:00
autodocodec-api-usage put the default value in the key schema directly 2021-10-30 20:22:25 +02:00
autodocodec-yaml put the default value in the key schema directly 2021-10-30 20:22:25 +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 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.