package gospel

  1. Overview
  2. Docs

Module Gospel.TtypesSource

Sourcemodule W = Warnings
Sourcemodule Ident = Identifier.Ident

type variables

Sourcetype tvsymbol = {
  1. tv_name : Ident.t;
}
Sourceval tv_equal : tvsymbol -> tvsymbol -> bool
Sourcemodule Tvar : sig ... end
Sourcemodule Htv : sig ... end
Sourcemodule Mtv : sig ... end
Sourceval create_tv : Ident.t -> tvsymbol
Sourceval fresh_tv : ?loc:Ppxlib.Location.t -> string -> tvsymbol
Sourceval tv_of_string : ?loc:Ppxlib.Location.t -> string -> tvsymbol

types

Sourcetype ty = {
  1. ty_node : ty_node;
}
Sourceand ty_node =
  1. | Tyvar of tvsymbol
  2. | Tyapp of tysymbol * ty list
Sourceand tysymbol = {
  1. ts_ident : Ident.t;
  2. ts_args : tvsymbol list;
  3. ts_alias : ty option;
}
Sourceval ts_equal : tysymbol -> tysymbol -> bool
Sourceval ty_equal : ty -> ty -> bool
Sourcemodule Ts : sig ... end
Sourcemodule Mts : sig ... end
Sourcemodule Hts : sig ... end
Sourceval ts : Ident.t -> tvsymbol list -> tysymbol
Sourceval mk_ts : Ident.t -> tvsymbol list -> ty option -> tysymbol
Sourceval ts_ident : tysymbol -> Ident.t
Sourceval ts_args : tysymbol -> tvsymbol list
Sourceval ts_alias : tysymbol -> ty option
Sourceval ts_arity : tysymbol -> int
Sourceval fresh_ty_var : ?loc:Ppxlib.Location.t -> string -> ty
Sourceval ty_of_var : tvsymbol -> ty

smart constructors & utils

Sourceval ty_full_inst : ?loc:Ppxlib.Location.t -> ty Mtv.t -> ty -> ty
Sourceval ts_match_args : ?loc:Ppxlib.Location.t -> tysymbol -> 'a list -> 'a Mtv.t
Sourceval ty_app : ?loc:Ppxlib.Location.t -> tysymbol -> ty list -> ty
Sourceval ts_subst_ts : tysymbol -> tysymbol -> tysymbol -> tysymbol
Sourceval ty_subst_ts : tysymbol -> tysymbol -> ty -> ty
Sourceval ty_subst_ty : tysymbol -> tysymbol -> ty -> ty -> ty
Sourceval ts_subst_ty : tysymbol -> tysymbol -> ty -> tysymbol -> tysymbol

type matching

Sourceexception TypeMismatch of ty * ty
Sourceval ty_match : ty Mtv.t -> ty -> ty -> ty Mtv.t
Sourceval ty_equal_check : ty -> ty -> unit

Built-in symbols

Sourceval ts_unit : tysymbol
Sourceval ts_integer : tysymbol
Sourceval ts_int : tysymbol
Sourceval ts_char : tysymbol
Sourceval ts_bytes : tysymbol
Sourceval ts_string : tysymbol
Sourceval ts_float : tysymbol
Sourceval ts_bool : tysymbol
Sourceval ts_exn : tysymbol
Sourceval ts_array : tysymbol
Sourceval ts_list : tysymbol
Sourceval ts_option : tysymbol
Sourceval ts_int32 : tysymbol
Sourceval ts_int64 : tysymbol
Sourceval ts_nativeint : tysymbol
Sourceval ts_format6 : tysymbol
Sourceval ts_lazy : tysymbol
Sourceval ts_tuple : int -> tysymbol
Sourceval ts_arrow : tysymbol
Sourceval is_ts_tuple : tysymbol -> bool
Sourceval is_ts_arrow : tysymbol -> bool
Sourceval ty_unit : ty
Sourceval ty_integer : ty
Sourceval ty_int : ty
Sourceval ty_bool : ty
Sourceval ty_float : ty
Sourceval ty_char : ty
Sourceval ty_string : ty
Sourceval ty_option : ty -> ty
Sourceval ty_list : ty -> ty
Sourceval ty_tuple : ty list -> ty
Sourcetype exn_type =
  1. | Exn_tuple of ty list
  2. | Exn_record of (Ident.t * ty) list
Sourcetype xsymbol = {
  1. xs_ident : Ident.t;
  2. xs_type : exn_type;
}
Sourceval xsymbol : Ident.t -> exn_type -> xsymbol
Sourceval xs_equal : xsymbol -> xsymbol -> bool
Sourcemodule Xs : sig ... end
Sourcemodule Mxs : sig ... end
Sourceval xs_subst_ts : tysymbol -> tysymbol -> xsymbol -> xsymbol
Sourceval xs_subst_ty : tysymbol -> tysymbol -> ty -> xsymbol -> xsymbol

Pretty printers

Sourceval print_tv : Format.formatter -> tvsymbol -> unit
Sourceval print_ts_name : Format.formatter -> tysymbol -> unit
Sourceval print_ty : ty Utils.Fmt.t
Sourceval print_arrow_ty : Format.formatter -> ty list -> unit
Sourceval print_ty_node : Format.formatter -> ty_node -> unit
Sourceval print_ts : Format.formatter -> tysymbol -> unit
Sourceval print_exn_type : Format.formatter -> exn_type -> unit
Sourceval print_xs : Format.formatter -> xsymbol -> unit
OCaml

Innovation. Community. Security.