sig
val self : State.t
val name : string
val kind : State.kind
val mark_as_computed : ?project:Project.t -> unit -> unit
val is_computed : ?project:Project.t -> unit -> bool
module Datatype :
sig
type t = RTE_DownCast_Generated.Datatype.t
val ty : t Type.t
val name : string
val descr : t Descr.t
val packed_descr : Structural_descr.pack
val reprs : t list
val equal : t -> t -> bool
val compare : t -> t -> int
val hash : t -> int
val pretty_code : Format.formatter -> t -> unit
val internal_pretty_code :
Type.precedence -> Format.formatter -> t -> unit
val pretty : Format.formatter -> t -> unit
val varname : t -> string
val mem_project : (Project_skeleton.t -> bool) -> t -> bool
val copy : t -> t
end
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal : (Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
type key = Dashtbl.Default_key_marshaler(Kernel_function).t
type data = Dashtbl.Default_data_marshaler(Datatype.Ref(Datatype.Bool)).t
val add : string -> key -> State.t list -> data -> unit
val replace : reset:bool -> string -> key -> State.t list -> data -> unit
val memo :
reset:bool ->
(data list -> data) -> string -> key -> State.t list -> data
val clear : reset:bool -> unit -> unit
val remove : reset:bool -> key -> State.t -> unit
val remove_all : reset:bool -> key -> unit
val filter :
reset:bool -> (key -> State.t option -> data -> bool) -> key -> unit
val mem : key -> bool
val is_local : State.t -> bool
val find : ?who:State.t list -> key -> State.t -> data * State.t
val find_key : State.t -> (key * State.t) list
val find_data : ?who:State.t list -> key -> State.t -> data
val find_state : ?who:State.t list -> key -> State.t -> State.t
val find_all_local :
?who:State.t list -> key -> State.t -> (data * State.t) list
val find_all_local_data : ?who:State.t list -> key -> State.t -> data list
val find_all_local_states :
?who:State.t list -> key -> State.t -> State.t list
val find_all : ?who:State.t list -> key -> (data * State.t) list
val find_all_data : ?who:State.t list -> key -> data list
val find_all_states : ?who:State.t list -> key -> State.t list
val iter : (key -> State.t option -> data * State.t -> unit) -> unit
val iter_key : (State.t option -> data * State.t -> unit) -> key -> unit
val fold :
(key -> State.t option -> data * State.t -> 'a -> 'a) -> 'a -> 'a
val fold_key :
(State.t option -> data * State.t -> 'a -> 'a) -> key -> 'a -> 'a
val length : unit -> int
module Graph :
sig
val create_and_add_state :
clear:(Project.t -> unit) ->
name:string -> deps:State.t list -> State.t
val add_state : State.t -> unit
val remove_state : reset:bool -> State.t -> unit
val self : State.t ref
val internal_kind : State.kind
end
val add : Kernel_function.t -> State.t list -> data -> unit
val get : key -> Datatype.Bool.t
val get_state : key -> State.t
val set : key -> Datatype.Bool.t -> unit
end