package ppx_repr

  1. Overview
  2. Docs

A meta-deriver is a deriver defined in terms of specialisations of Repr's generic operations (i.e. with plugins that consume type representations rather than type ASTs).

module Plugin : sig ... end

A Plugin.t is a pair of functions that extend a representable type with specialised generic operations: one to supply the implementation of the specialistion, and one to supply its type.

module Args : sig ... end
val make_generator : ?attributes:Ppxlib.Attribute.packed list -> ?deps:Ppxlib.Deriving.t list -> args:('a, 'b) Args.t -> supported_plugins:Plugin.t list -> (loc:Ppxlib.location -> path:string -> Plugin.t list -> 'c -> 'a) -> ('b, 'c) Ppxlib.Deriving.Generator.t

An extension of Ppxlib.Deriving.make_generator that supports a set of meta-deriving plugins.