Module Symbolic.Type_env

Interface for typing environments

type t
val to_yojson : t -> Yojson.Safe.t
val of_yojson : Yojson.Safe.t -> t Ppx_deriving_yojson_runtime.error_or
val as_hashtbl : t -> (string, Gil_syntax.Type.t) Utils.Prelude.Hashtbl.t
val copy : t -> t
val extend : t -> t -> unit
val filter : t -> (string -> bool) -> t
val filter_in_place : t -> (string -> bool) -> unit
val filter_vars : t -> Utils.Containers.SS.t -> t
val filter_vars_in_place : t -> Utils.Containers.SS.t -> unit
val get : t -> string -> Gil_syntax.Type.t option
val get_unsafe : t -> string -> Gil_syntax.Type.t
val get_var_type_pairs : t -> (string * Gil_syntax.Type.t) Stdlib.Seq.t
val get_vars_of_type : t -> Gil_syntax.Type.t -> string list
val init : unit -> t
val mem : t -> string -> bool
val empty : t -> bool
val pp : Stdlib.Format.formatter -> t -> unit
val pp_by_need : Utils.Containers.SS.t -> Stdlib.Format.formatter -> t -> unit
val update : t -> string -> Gil_syntax.Type.t -> unit
val remove : t -> string -> unit
val reset : t -> (Gil_syntax.Var.t * Gil_syntax.Type.t) list -> unit
val iter : t -> (string -> Gil_syntax.Type.t -> unit) -> unit
val fold : t -> (string -> Gil_syntax.Type.t -> 'a -> 'a) -> 'a -> 'a
val lvars : t -> Utils.Containers.SS.t
val vars : t -> Utils.Containers.SS.t
val matchables : t -> Utils.Containers.SS.t
val to_list : t -> (Gil_syntax.Var.t * Gil_syntax.Type.t) list
val to_list_expr : t -> (Gil_syntax.Expr.t * Gil_syntax.Type.t) list
val substitution : t -> Symbolic.Subst.t -> bool -> t
val is_well_formed : t -> bool