self(auto)- documenting encoders and decoders
Go to file
2021-11-06 12:04:47 +01:00
.github remove obsolete funding options 2021-10-30 12:05:05 +02:00
autodocodec Docs for autodocodec-aeson 2021-11-06 11:37:49 +01:00
autodocodec-aeson documentation for autodocodec-yaml 2021-11-06 11:43:47 +01:00
autodocodec-aeson-schema Usage test for a type with lots of comments 2021-11-05 17:04:45 +01:00
autodocodec-api-usage some comments for the api usage tests 2021-11-06 12:04:47 +01:00
autodocodec-openapi3 Docs for autodocodec-openapi 2021-11-06 12:03:27 +01:00
autodocodec-swagger2 Docs for autodocodec-swagger2 2021-11-06 12:00:42 +01:00
autodocodec-yaml documentation for autodocodec-yaml 2021-11-06 11:43:47 +01:00
nix First draft of autodocodec-openapi3 2021-11-05 10:56:54 +01: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 something that compiles 2021-11-01 14:26:27 +01:00
shell.nix test failure 2021-10-24 19:34:17 +02:00
stack.yaml First draft of autodocodec-openapi3 2021-11-05 10:56:54 +01: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.

TODO

Tests and guarantees