package ppx_repr

  1. Overview
  2. Docs
PPX deriver for type representations

Install

Dune Dependency

Authors

Maintainers

Sources

repr-fuzz-0.5.0.tbz
sha256=2ed0e1dab950eeb551cbecc3bbc5ddb584b3b3e4b4e039ff3abf7bd6d5b238f9
sha512=bacfef83e5bd2b12a7ccd514ba92525030cdcf85ba1121e9456db7f327c434db599a47667ca9826ab77ed95e0f946347e027bc6c18420c6a8faabf4a491a2a7a

CHANGES.md.html

0.5.0 (2021-10-12)

  • Add Repr.int63, a representation of the Optint.Int63.t type (provided by the optint library). (#80, @CraigFe)

  • Change Repr.{like,map,partially_abstract} functions to not require _ staged wrappers around any (monomorphic) overrides. (#77, @CraigFe)

  • Fix a bug causing custom Repr.{random,random_state} implementations to be ignored. (#79, @CraigFe)

  • Fix Repr.pre_hash to rely on itself recursively. This ensures that custom pre_hash functions attached to components of larger types are not ignored. (#71, @CraigFe)

0.4.0 (2021-06-16)

  • Add Repr.{random,random_state}, a pair of generic functions for sampling random instances of representable types. (#58, @CraigFe)

  • Add Repr.Size, which provides sizing functions for binary codecs that are more informative than the existing Repr.size_of. Types built using Repr.v and Repr.like must now pass a sizer built using Repr.Size.custom_*. (#69, @CraigFe)

0.3.0 (2021-04-30)

  • Repr.v is now called Repr.abstract. (#52, @CraigFe)

  • Added Repr.partially_abstract, a helper combinator for constructing type representations with overridden operations. (#52, @CraigFe)

  • Add combinators for standard library container types: ref, Lazy.t, Seq.t, Queue.t, Stack.t, Hashtbl.t, Set.t and Map.t. (#43, @CraigFe)

  • Improve PPX Repr.t generation for types in the standard library. References to e.g. Bool.t or Stdlib.Int32.t will be resolved to the corresponding combinators. (#43, @CraigFe)

  • Add support for deriving mutually-recursive pairs of type representations with ppx_repr. (#42, @CraigFe)

  • Add a JSON object combinator: Json.assoc (#53, @Ngoguey42)

  • Drop the payload of NaN floating point values during JSON encoding. -nan strings are not emitted any more. (#55, @Ngoguey42)

0.2.1 (2021-01-18)

  • Support Ppxlib versions >= 0.18.0. (#35, @CraigFe)

  • Add missing dependency on ppx_deriving. (#36, @CraigFe)

  • Add a representation of the Either.t type. (#33, @CraigFe)

0.2.0 (2020-12-18)

  • Improve performance of variable-size integers encoding and decoding. (#24, #30, @samoht)

  • Require short_hash operations to be explicitly unstaged. (#15, @CraigFe)

  • Require equal and compare operations to be explicitly unstaged. (#16, @samoht)

0.1.0 (2020-10-16)

Initial release.

OCaml

Innovation. Community. Security.