sig
module type Info =
sig
val name : string
val dependencies : State.t list
val kind : State.kind
end
module type Info_with_size =
sig
val name : string
val dependencies : State.t list
val kind : State.kind
val size : int
end
module type S =
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 : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal : (Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
end
module Register :
functor (Datatype : Datatype.S) ->
functor
(Local_state : sig
type t = Datatype.t
val create : unit -> t
val clear : t -> unit
val get : unit -> t
val set : t -> unit
val clear_some_projects :
(Project_skeleton.t -> bool) -> t -> bool
end) ->
functor
(Info : sig
val name : string
val dependencies : State.t list
val kind : State.kind
val unique_name : string
end) ->
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 = 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
end
module type Ref =
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 : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal : (Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
type data
val set : State_builder.Ref.data -> unit
val get : unit -> State_builder.Ref.data
val clear : unit -> unit
end
module Ref :
functor (Data : Datatype.S) ->
functor
(Info : sig
val name : string
val dependencies : State.t list
val kind : State.kind
val default : unit -> Data.t
end) ->
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 : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal :
(Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
type data = Data.t
val set : data -> unit
val get : unit -> data
val clear : unit -> unit
end
module type Option_ref =
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 : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal : (Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
type data
val set : data -> unit
val get : unit -> data
val clear : unit -> unit
val memo : ?change:(data -> data) -> (unit -> data) -> data
val map : (data -> data) -> data option
val may : (data -> unit) -> unit
val get_option : unit -> data option
end
module Option_ref :
functor (Data : Datatype.S) ->
functor (Info : Info) ->
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 : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal :
(Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
type data = Data.t
val set : data -> unit
val get : unit -> data
val clear : unit -> unit
val memo : ?change:(data -> data) -> (unit -> data) -> data
val map : (data -> data) -> data option
val may : (data -> unit) -> unit
val get_option : unit -> data option
end
module type List_ref =
sig
type data_in_list
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 : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal : (Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
type data
val set : data -> unit
val get : unit -> data
val clear : unit -> unit
val add : State_builder.List_ref.data_in_list -> unit
val iter : (State_builder.List_ref.data_in_list -> unit) -> unit
val fold_left :
('a -> State_builder.List_ref.data_in_list -> 'a) -> 'a -> 'a
end
module List_ref :
functor (Data : Datatype.S) ->
functor (Info : Info) ->
sig
type data_in_list = Data.t
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 : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal :
(Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
type data = Data.t list
val set : data -> unit
val get : unit -> data
val clear : unit -> unit
val add : data_in_list -> unit
val iter : (data_in_list -> unit) -> unit
val fold_left : ('a -> data_in_list -> 'a) -> 'a -> 'a
end
module Int_ref :
functor
(Info : sig
val name : string
val dependencies : State.t list
val kind : State.kind
val default : unit -> int
end) ->
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 : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal : (Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
type data = int
val set : data -> unit
val get : unit -> data
val clear : unit -> unit
end
module Zero_ref :
functor (Info : Info) ->
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 : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal : (Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
type data = int
val set : data -> unit
val get : unit -> data
val clear : unit -> unit
end
module False_ref :
functor (Info : Info) ->
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 : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal : (Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
type data = bool
val set : data -> unit
val get : unit -> data
val clear : unit -> unit
end
module True_ref :
functor (Info : Info) ->
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 : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal : (Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
type data = bool
val set : data -> unit
val get : unit -> data
val clear : unit -> unit
end
module type Dashtbl =
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 : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal : (Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
type key
type data
val add :
string ->
State_builder.Dashtbl.key ->
State.t list -> State_builder.Dashtbl.data -> unit
val replace :
reset:bool ->
string ->
State_builder.Dashtbl.key ->
State.t list -> State_builder.Dashtbl.data -> unit
val memo :
reset:bool ->
(State_builder.Dashtbl.data list -> State_builder.Dashtbl.data) ->
string ->
State_builder.Dashtbl.key ->
State.t list -> State_builder.Dashtbl.data
val clear : reset:bool -> unit -> unit
val remove : reset:bool -> State_builder.Dashtbl.key -> State.t -> unit
val remove_all : reset:bool -> State_builder.Dashtbl.key -> unit
val filter :
reset:bool ->
(State_builder.Dashtbl.key ->
State.t option -> State_builder.Dashtbl.data -> bool) ->
State_builder.Dashtbl.key -> unit
val mem : State_builder.Dashtbl.key -> bool
val is_local : State.t -> bool
val find :
?who:State.t list ->
State_builder.Dashtbl.key ->
State.t -> State_builder.Dashtbl.data * State.t
val find_key : State.t -> (State_builder.Dashtbl.key * State.t) list
val find_data :
?who:State.t list ->
State_builder.Dashtbl.key -> State.t -> State_builder.Dashtbl.data
val find_state :
?who:State.t list -> State_builder.Dashtbl.key -> State.t -> State.t
val find_all_local :
?who:State.t list ->
State_builder.Dashtbl.key ->
State.t -> (State_builder.Dashtbl.data * State.t) list
val find_all_local_data :
?who:State.t list ->
State_builder.Dashtbl.key ->
State.t -> State_builder.Dashtbl.data list
val find_all_local_states :
?who:State.t list ->
State_builder.Dashtbl.key -> State.t -> State.t list
val find_all :
?who:State.t list ->
State_builder.Dashtbl.key ->
(State_builder.Dashtbl.data * State.t) list
val find_all_data :
?who:State.t list ->
State_builder.Dashtbl.key -> State_builder.Dashtbl.data list
val find_all_states :
?who:State.t list -> State_builder.Dashtbl.key -> State.t list
val iter :
(State_builder.Dashtbl.key ->
State.t option -> State_builder.Dashtbl.data * State.t -> unit) ->
unit
val iter_key :
(State.t option -> State_builder.Dashtbl.data * State.t -> unit) ->
State_builder.Dashtbl.key -> unit
val fold :
(State_builder.Dashtbl.key ->
State.t option -> State_builder.Dashtbl.data * State.t -> 'a -> 'a) ->
'a -> 'a
val fold_key :
(State.t option -> State_builder.Dashtbl.data * State.t -> 'a -> 'a) ->
State_builder.Dashtbl.key -> 'a -> 'a
val length : unit -> int
module Graph : Dashtbl.Graph
end
module Dashtbl :
functor (Key : Dashtbl.Key) ->
functor (Data : Dashtbl.Data) ->
functor
(Info : sig
val name : string
val dependencies : State.t list
val kind : State.kind
val size : int
val internal_kind : State.kind
end) ->
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 : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal :
(Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
type key = Key.t
type data = Data.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 : Dashtbl.Graph
end
module type Weak_hashtbl =
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 : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal : (Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
type data
val merge :
State_builder.Weak_hashtbl.data -> State_builder.Weak_hashtbl.data
val add : State_builder.Weak_hashtbl.data -> unit
val clear : unit -> unit
val count : unit -> int
val iter : (State_builder.Weak_hashtbl.data -> unit) -> unit
val fold : (State_builder.Weak_hashtbl.data -> 'a -> 'a) -> 'a -> 'a
val find :
State_builder.Weak_hashtbl.data -> State_builder.Weak_hashtbl.data
val find_all :
State_builder.Weak_hashtbl.data ->
State_builder.Weak_hashtbl.data list
val mem : State_builder.Weak_hashtbl.data -> bool
val remove : State_builder.Weak_hashtbl.data -> unit
end
module Weak_hashtbl :
functor (W : Weak.S) ->
functor
(Data : sig
type t = W.data
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) ->
functor (Info : Info_with_size) ->
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 : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal :
(Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
type data = W.data
val merge : data -> data
val add : data -> unit
val clear : unit -> unit
val count : unit -> int
val iter : (data -> unit) -> unit
val fold : (data -> 'a -> 'a) -> 'a -> 'a
val find : data -> data
val find_all : data -> data list
val mem : data -> bool
val remove : data -> unit
end
module Caml_weak_hashtbl :
functor (Data : Datatype.S) ->
functor (Info : Info_with_size) ->
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 : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal :
(Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
type data = Data.t
val merge : data -> data
val add : data -> unit
val clear : unit -> unit
val count : unit -> int
val iter : (data -> unit) -> unit
val fold : (data -> 'a -> 'a) -> 'a -> 'a
val find : data -> data
val find_all : data -> data list
val mem : data -> bool
val remove : data -> unit
end
module Hashconsing_tbl :
functor
(Data : sig
type 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
val equal_internal : t -> t -> bool
val hash_internal : t -> int
val initial_values : t list
end) ->
functor (Info : Info_with_size) ->
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 : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal :
(Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
type data = Data.t
val merge : data -> data
val add : data -> unit
val clear : unit -> unit
val count : unit -> int
val iter : (data -> unit) -> unit
val fold : (data -> 'a -> 'a) -> 'a -> 'a
val find : data -> data
val find_all : data -> data list
val mem : data -> bool
val remove : data -> unit
end
module type Hashtbl =
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 : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal : (Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
type key
type data
val replace :
State_builder.Hashtbl.key -> State_builder.Hashtbl.data -> unit
val add :
State_builder.Hashtbl.key -> State_builder.Hashtbl.data -> unit
val clear : unit -> unit
val length : unit -> int
val iter :
(State_builder.Hashtbl.key -> State_builder.Hashtbl.data -> unit) ->
unit
val fold :
(State_builder.Hashtbl.key -> State_builder.Hashtbl.data -> 'a -> 'a) ->
'a -> 'a
val memo :
?change:(State_builder.Hashtbl.data -> State_builder.Hashtbl.data) ->
(State_builder.Hashtbl.key -> State_builder.Hashtbl.data) ->
State_builder.Hashtbl.key -> State_builder.Hashtbl.data
val find : State_builder.Hashtbl.key -> State_builder.Hashtbl.data
val find_all :
State_builder.Hashtbl.key -> State_builder.Hashtbl.data list
val mem : State_builder.Hashtbl.key -> bool
val remove : State_builder.Hashtbl.key -> unit
end
module Hashtbl :
functor (H : Datatype.Hashtbl) ->
functor (Data : Datatype.S) ->
functor (Info : Info_with_size) ->
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 = Data.t H.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 = H.key
type data = Data.t
val replace : key -> data -> unit
val add : key -> data -> unit
val clear : unit -> unit
val length : unit -> int
val iter : (key -> data -> unit) -> unit
val fold : (key -> data -> 'a -> 'a) -> 'a -> 'a
val memo : ?change:(data -> data) -> (key -> data) -> key -> data
val find : key -> data
val find_all : key -> data list
val mem : key -> bool
val remove : key -> unit
end
module type Set_ref =
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 : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal : (Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
type data
val set : data -> unit
val get : unit -> data
val clear : unit -> unit
type elt
val add : State_builder.Set_ref.elt -> unit
val is_empty : unit -> bool
val mem : State_builder.Set_ref.elt -> bool
val fold : (State_builder.Set_ref.elt -> 'a -> 'a) -> 'a -> 'a
val iter : (State_builder.Set_ref.elt -> unit) -> unit
end
module Set_ref :
functor (S : Datatype.Set) ->
functor (Info : Info) ->
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 : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal :
(Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
type data
val set : data -> unit
val get : unit -> data
val clear : unit -> unit
type elt = S.elt
val add : elt -> unit
val is_empty : unit -> bool
val mem : elt -> bool
val fold : (elt -> 'a -> 'a) -> 'a -> 'a
val iter : (elt -> unit) -> unit
end
module type Queue =
sig
type elt
val add : State_builder.Queue.elt -> unit
val iter : (State_builder.Queue.elt -> unit) -> unit
val is_empty : unit -> bool
end
module Queue :
functor (Data : Datatype.S) ->
functor (Info : Info) ->
sig
type elt = Data.t
val add : elt -> unit
val iter : (elt -> unit) -> unit
val is_empty : unit -> bool
end
module Proxy :
sig
type t
type kind = Backward | Forward | Both
val create :
string ->
State_builder.Proxy.kind ->
State.standard_kind -> State.t list -> State_builder.Proxy.t
val extend : State.t list -> State_builder.Proxy.t -> unit
val get : State_builder.Proxy.t -> State.t
end
val apply_once :
string -> State.t list -> (unit -> unit) -> (unit -> unit) * State.t
module SharedCounter :
functor (Info : sig val name : string end) ->
sig val next : unit -> int end
module Counter :
functor (Info : sig val name : string end) ->
sig val next : unit -> int val self : State.t end
end