Module Compiler_data.ScopeContext

type language = string
val show_language : language -> Ppx_deriving_runtime.string
val compare_language : language -> language -> Ppx_deriving_runtime.int
type ctx = {
  1. vmap : (language * F.t * F.t) list;
  2. uvmap : (F.t * F.t) list ref;
}
val empty : unit -> ctx
val eq_var : ctx -> language -> F.t -> F.t -> bool
val cmp_var : ctx -> language -> F.t -> F.t -> int
val purge : 'a -> (('b * 'c) -> F.t) -> F.t -> ('a * 'b * 'c) list -> ('a * 'b * 'c) list
val push_ctx : language -> F.t -> F.t -> ctx -> ctx
val eq_uvar : ctx -> F.t -> F.t -> bool