package bare_encoding

  1. Overview
  2. Docs
BARE encoding, see https://baremessages.org/

Install

Dune Dependency

Authors

Maintainers

Sources

bare_encoding-0.3.1.tbz
sha256=29c842dc6ed864345c8c7ff601fa6bdae53a50000ff5342cd8ace4d3d0021ba6
sha512=2785df62a58786dd8ca68c9c1fb1cb0dcc8a8b3dfd9f79a3cad201f5870718ea8524ce3b4bf3dbbab06d3b63733deb2100bf712f730772be1ee1c5a6dabba402

doc/README.html

Bare-OCaml build"

A simple code generator and runtime library for BARE following the spec.

  • License: MIT.
  • online documentation: https://c-cube.github.io/bare-ocaml/

Features

  • runtime library named Bare, with entrypoints for encoding/decoding all the base types over Buffer.t and bytes 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 the Bare 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/
OCaml

Innovation. Community. Security.