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-project
 Dependency

Authors

Maintainers

Sources

ppx_stable_witness-v0.16.0.tar.gz
sha256=4f9857612d9d65c3844bd8940b946a19472e2d5b9df29e91c829d6d0aa78c5ef

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.