Module Var.Map

Wrapper over Map.S but with a type variable for the AST type parameters. Extend as needed

type ('e, 'x) t
val empty : ( 'e, 'x ) t
val singleton : 'e var -> 'x -> ( 'e, 'x ) t
val add : 'e var -> 'x -> ( 'e, 'x ) t -> ( 'e, 'x ) t
val update : 'e var -> ( 'x option -> 'x option ) -> ( 'e, 'x ) t -> ( 'e, 'x ) t
val find : 'e var -> ( 'e, 'x ) t -> 'x
val find_opt : 'e var -> ( 'e, 'x ) t -> 'x option
val bindings : ( 'e, 'x ) t -> ('e var * 'x) list
val mem : 'e var -> ( 'e, 'x ) t -> bool
val union : ( 'e var -> 'x -> 'x -> 'x option ) -> ( 'e, 'x ) t -> ( 'e, 'x ) t -> ( 'e, 'x ) t
val fold : ( 'e var -> 'x -> 'acc -> 'acc ) -> ( 'e, 'x ) t -> 'acc -> 'acc