package pa_ppx

  1. Overview
  2. Docs

Parameters

module ARG : sig ... end

Signature

type param_t = {
  1. type_id : string;
  2. arg_id : string;
}
val type_id : param_t -> string
val arg_id : param_t -> string
val param_ctyp : ?mono:bool -> MLast.loc -> param_t -> MLast.ctyp
val arg_ctyp : ?mono:bool -> MLast.loc -> param_t -> MLast.ctyp
val arg_expr : MLast.loc -> param_t -> MLast.expr
val arg_patt : ?naked:bool -> ?mono:bool -> MLast.loc -> param_t -> MLast.patt
val find : string -> param_t list -> param_t
type t = param_t list
val make : string -> Ploc.t -> (string option Ploc.vala * 'a) list -> param_t list
val make_of_ids : string list -> param_t list
val quantify_over_ctyp : param_t list -> MLast.ctyp -> MLast.ctyp
val wrap_type_constraints : MLast.loc -> param_t list -> (string * 'a) list -> (string * MLast.ctyp) list -> (MLast.patt * 'a * ((MLast.loc * string) Ploc.vala * MLast.payload) Ploc.vala list Ploc.vala) list