Module Var

module Var: sig .. end

Variable

A Variable is a pair of a unique Name, and a type.
Since 1.0


type 'a t = private {
   id : ID.t;
   ty : 'a;
}
type 'a var = 'a t 
val make : ty:'a -> ID.t -> 'a t
val of_string : ty:'a -> string -> 'a t
Make a fresh ID before calling Var.make
val gensym : ty:'a -> unit -> 'a t
val copy : 'a t -> 'a t
copy v is similar to v but with a fresh ID
val update_ty : 'a t -> f:('a -> 'b) -> 'b t
Make a fresh variable with a new type and same ID
val id : 'a t -> ID.t
val ty : 'a t -> 'a
val name : 'a t -> string
val compare : 'a t -> 'b t -> int
val equal : 'a t -> 'b t -> bool
val hash : 'a t -> int
val hash_fun : 'a t CCHash.hash_fun
val pp : 'a t CCFormat.printer
val to_string : 'a t -> string
val pp_full : 'a t CCFormat.printer
val pp_fullc : 'a t CCFormat.printer
With color
module Set: sig .. end
module Subst: sig .. end