package liquidsoap-lang

  1. Overview
  2. Docs
val debug : bool Stdlib.ref
val debug_levels : bool Stdlib.ref
val debug_variance : bool Stdlib.ref

Types

type variance = [
  1. | `Covariant
  2. | `Invariant
]
type descr = Type_base.descr = ..
type t = private Type_base.t = {
  1. pos : Pos.Option.t;
  2. descr : descr;
}
type constr_t = Type_base.constr_t = ..
type constr_t +=
  1. | Num
  2. | Ord
type constr = Type_base.constr = {
  1. t : constr_t;
  2. constr_descr : string;
  3. univ_descr : string option;
  4. satisfied : subtype:(t -> t -> unit) -> satisfies:(t -> unit) -> t -> unit;
}
module Constraints = Type_base.Constraints
type constructed = Type_base.constructed = {
  1. constructor : string;
  2. params : (variance * t) list;
}
type var = Type_base.var = {
  1. name : int;
  2. mutable level : int;
  3. mutable constraints : Constraints.t;
}
type invar =
  1. | Free of var
type scheme = var list * t
type meth = Type_base.meth = {
  1. meth : string;
  2. optional : bool;
  3. scheme : scheme;
  4. doc : string;
  5. json_name : string option;
}
type repr_t = Type_base.repr_t = {
  1. t : t;
  2. json_repr : [ `Tuple | `Object ];
}
val string_of_constr : constr -> string
val num_constr : constr
val ord_constr : constr
module Subst = Type_base.Subst
module R = Type_base.R
type custom = Type_base.custom = ..
type custom_handler = Type_base.custom_handler = {
  1. typ : custom;
  2. copy_with : (t -> t) -> custom -> custom;
  3. occur_check : (t -> unit) -> custom -> unit;
  4. filter_vars : (var list -> t -> var list) -> var list -> custom -> var list;
  5. repr : (var list -> t -> Repr.t) -> var list -> custom -> Repr.t;
  6. subtype : (t -> t -> unit) -> custom -> custom -> unit;
  7. sup : (t -> t -> t) -> custom -> custom -> custom;
  8. to_string : custom -> string;
}
type descr +=
  1. | Custom of custom_handler
  2. | Constr of constructed
  3. | Getter of t
  4. | List of repr_t
  5. | Tuple of t list
  6. | Nullable of t
  7. | Meth of meth * t
  8. | Arrow of (bool * string * t) list * t
  9. | Var of invar Stdlib.ref
exception NotImplemented
exception Exists of Pos.Option.t * string
exception Unsatisfied_constraint
val unit : descr
module Var = Type_base.Var
module Vars = Type_base.Vars
val make : ?pos:Pos.t -> descr -> t
val deref : t -> t
val demeth : t -> t
val deep_demeth : t -> t
val remeth : t -> t -> t
val invoke : t -> string -> scheme
val has_meth : t -> string -> bool
val invokes : t -> string list -> var list * t
val meth : ?pos:Pos.t -> ?json_name:string -> ?optional:bool -> string -> scheme -> ?doc:string -> t -> t
val reference : ?pos:Pos.t -> t -> t

Type of references on a given type.

val meths : ?pos:Pos.t -> string list -> scheme -> t -> t
val split_meths : t -> meth list * t
val filter_meths : t -> (meth -> bool) -> t
val var : ?constraints:constr list -> ?level:int -> ?pos:Pos.t -> unit -> t
val mk_invariant : t -> unit
val to_string_fun : (?generalized:var list -> t -> string) Stdlib.ref
val to_string : ?generalized:var list -> t -> string
val string_of_scheme : scheme -> string
val is_fun : t -> bool
val is_source : t -> bool
module Ground = Ground_type
val register_type : string -> (unit -> t) -> unit
val find_type_opt : string -> (unit -> t) option
OCaml

Innovation. Community. Security.