A simple code generator and runtime library for BARE following the spec
- License: MIT.
- online documentation: https://c-cube.github.io/bare-ocaml/
-
runtime library named
Bare
, with entrypoints for encoding/decoding all the base types overBuffer.t
andbytes
respectively. -
code generator for producing OCaml code with type declarations and encoder/decoder functions.
-
the code generator can handle mutually recursive types and out-of-order declarations, by sorting them first. Each type gets its own toplevel module; for example
type foo int
will become:module Int = struct type t = int64 let decode = … let encode = … end
-
pretty-printers can be generated using the
--pp
option -
the generated code can be made dependency-free by using
--standalone
. In that case, the code for theBare
module will be inserted at the beginning of the generated code.
-
-
basic testing (needs to be improved when test vectors are published)
-
basic vim syntax files in
data/vim/