Module Imandrakit_typereg.Ty_def

Concise type definition

type ty = Ty_expr.t
val equal_ty : ty -> ty -> Ppx_deriving_runtime.bool
val ty_to_yojson : ty -> Yojson.Safe.t
type record = {
  1. fields : (string * ty) list;
}
val show_record : record -> Ppx_deriving_runtime.string
val equal_record : record -> record -> Ppx_deriving_runtime.bool
val record_to_yojson : record -> Yojson.Safe.t
val map_record : f:(ty -> ty) -> record -> record
val iter_record : f:(ty -> unit) -> record -> unit
type cstor = {
  1. c : string;
    (*

    Constructor name

    *)
  2. args : ty list;
  3. labels : string list option;
    (*

    Present for inline records. Length = args.len

    *)
}
val equal_cstor : cstor -> cstor -> Ppx_deriving_runtime.bool
val cstor_to_yojson : cstor -> Yojson.Safe.t
val map_cstor : f:(ty -> ty) -> cstor -> cstor
val iter_cstor : f:(ty -> unit) -> cstor -> unit
type decl =
  1. | Alias of ty
  2. | Alg of cstor list
  3. | Record of record

Definition

val equal_decl : decl -> decl -> Ppx_deriving_runtime.bool
val decl_to_yojson : decl -> Yojson.Safe.t
val map_decl : f:(ty -> ty) -> decl -> decl
val iter_decl : f:(ty -> unit) -> decl -> unit
type t = {
  1. path : string;
    (*

    Path

    *)
  2. name : string;
    (*

    Name of the type

    *)
  3. params : string list;
    (*

    Type parameters

    *)
  4. decl : decl;
  5. unboxed : bool;
}
val equal : t -> t -> Ppx_deriving_runtime.bool
val to_yojson : t -> Yojson.Safe.t
type clique = t list
val equal_clique : clique -> clique -> Ppx_deriving_runtime.bool
val clique_to_yojson : clique -> Yojson.Safe.t
val show_clique : clique -> Ppx_deriving_runtime.string
val map : f:(ty -> ty) -> t -> t
val iter_ty : f:(ty -> unit) -> t -> unit
val compare_by_name : t -> t -> int