package ppx_stable_witness

  1. Overview
  2. Docs
Ppx extension for deriving a witness that a type is intended to be stable. In this context, stable means that the serialization format will never change. This allows programs running at different versions of the code to safely communicate.

Install

Dune Dependency

Authors

Maintainers

Sources

v0.17.0.tar.gz
sha256=052db5d52ccacaab30ead1a4192ad021ee00c235a73c09b7918acabcee4a0cda

doc/ppx_stable_witness.stable_witness/Stable_witness/Of_serializable1/index.html

Module Stable_witness.Of_serializable1Source

Parameters

module Stable_format : T1
module M : T1

Signature

Sourceval of_serializable : ('a t -> 'a Stable_format.t t) -> ('a Stable_format.t -> 'a M.t) -> ('a M.t -> 'a Stable_format.t) -> 'a t -> 'a M.t t

This is the analogue of of_serializable for types with 1 type parameter, e.g. 'a M.t.

An example usage would look something like this:

  let stable_witness (type a) : a Stable_witness.t -> a M.t Stable_witness.t =
    fun witness ->
    let module Stable_witness =
      Stable_witness.Of_serializable1 (Stable_format) (M)
    in
    Stable_witness.of_serializable
      Stable_format.stable_witness
      M.of_stable_format
      M.to_stable_format
      witness
  ;;
OCaml

Innovation. Community. Security.