Module Imandrakit_typereg.Ty_expr

Concise type expression

type label_kind =
  1. | Label
  2. | Optional
val show_label_kind : label_kind -> Ppx_deriving_runtime.string
val equal_label_kind : label_kind -> label_kind -> Ppx_deriving_runtime.bool
val label_kind_to_yojson : label_kind -> Yojson.Safe.t
type attrs = (string * string) list
val equal_attrs : attrs -> attrs -> Ppx_deriving_runtime.bool
val attrs_to_yojson : attrs -> Yojson.Safe.t
type t =
  1. | Var of string
  2. | Cstor of string * t list
  3. | Arrow of (label_kind * string) option * t * t
  4. | Tuple of t list
  5. | Attrs of t * attrs
val equal : t -> t -> Ppx_deriving_runtime.bool
val to_yojson : t -> Yojson.Safe.t
val map_shallow : f:(t -> t) -> t -> t
val iter_shallow : f:(t -> unit) -> t -> unit
val var : string -> t
val cstor : string -> t list -> t
val arrow : ?label:(label_kind * string) -> t -> t -> t
val tuple : t list -> t
val attrs : attrs -> t -> t