Kappa_data_structures.NamedDeclsStores a bunch of stuff the user gave a name to
type 'a t = private {decls : (string * 'a) array;the name of the stuff * the stuff
*)finder : int Kappa_data_structures.Mods.StringMap.t;fst (fst d.decls.(StringMap.find s d.finder)) MUST be equal to s
}val create :
?forbidden:Kappa_data_structures.Mods.StringSet.t ->
(string Loc.annoted * 'a) array ->
'a tcreate ~forbidden string_val_assoc evaluates to a namedDecls.t from the string-to-variable associations string_val_assoc except from strings in forbidden. Loc info is not kept.
val create_from_list :
?forbidden:Kappa_data_structures.Mods.StringSet.t ->
(string Loc.annoted * 'a) list ->
'a tval create_no_loc :
?forbidden:Kappa_data_structures.Mods.StringSet.t ->
(string * 'a) array ->
'a tcreate_no_loc behaves the same as create, but without the need to provide the Loc info that will be trashed
val size : 'a t -> intval elt_name : 'a t -> int -> stringelt_name nd i evaluates to the name declaration of id i in nd, or raises an exception if it doesn't exist
val elt_id : ?kind:string -> 'a t -> string Loc.annoted -> intelt_id ~kind nd (s, pos) evaluates to the data matching declaration s in nd, or if it doesn't exist, throw and exception with info about kind and pos
val elt_val : 'a t -> int -> 'aAccess data by id
val fold : (int -> string -> 'a -> 'b -> 'a) -> 'a -> 'b t -> 'aval print :
sep:(Stdlib.Format.formatter -> unit) ->
(int -> string -> Stdlib.Format.formatter -> 'a -> unit) ->
Stdlib.Format.formatter ->
'a t ->
unitval debug_print :
(Stdlib.Format.formatter -> 'a -> unit) ->
Stdlib.Format.formatter ->
'a t ->
unitval to_json : ('a -> Yojson.Basic.t) -> 'a t -> Yojson.Basic.tval of_json : (Yojson.Basic.t -> 'a) -> Yojson.Basic.t -> 'a t