module State_builder:sig..end
State_builder.S.
Depending on the builder, also provide some additional useful
information.module type Info =sig..end
State_builder.Register.
module type Info_with_size =sig..end
module type S =sig..end
State_builder.Register.
module Register:functor (Datatype:Datatype.S) ->functor (Local_state:State.Localwith type t = Datatype.t) ->functor (Info:siginclude State_builder.Infoval unique_name :stringend) ->Swith module Datatype = Datatype
Register(Datatype)(State)(Info) registers a new state.
module type Ref =sig..end
Ref.
module Ref:functor (Data:Datatype.S) ->functor (Info:siginclude State_builder.Infoval default :unit -> Data.tend) ->Refwith type data = Data.t
module type Option_ref =sig..end
Option_ref.
module Option_ref:
module type List_ref =sig..end
ListRef.
module List_ref:
module Int_ref:functor (Info:siginclude State_builder.Infoval default :unit -> intend) ->Refwith type data = int
module Zero_ref:
0.
module Bool_ref:functor (Info:siginclude State_builder.Infoval default :unit -> boolend) ->Refwith type data = bool
module False_ref:
false.
module True_ref:
true.
module Float_ref:functor (Info:siginclude State_builder.Infoval default :unit -> floatend) ->Refwith type data = float
module type Weak_hashtbl =sig..end
module Weak_hashtbl:
Data from a reference implementation
W.
module Caml_weak_hashtbl:
Data by using Weak.Make provided
by the OCaml standard library.
module type Hashconsing_tbl =functor (Data:siginclude Datatype.Sval equal_internal :t -> t -> boolThe hashconsed datatypeEquality on the datatype internally used by the built table.
val hash_internal :t -> intHash function for datatype internally used by the built table.
val initial_values :t listPre-existing values stored in the built table and shared by all existing projects.
end) ->functor (Info:Info_with_size) ->Weak_hashtblwith type data = Data.t
module Hashconsing_tbl_weak:Hashconsing_tbl
module Hashconsing_tbl_not_weak:Hashconsing_tbl
module Hashconsing_tbl:Hashconsing_tbl
Cmdline.deterministic.
IMPORTANT: that is INCORRECT to use projectified hashtables if keys have a
custom rehash function (see Project.DATATYPE_OUTPUT.rehash)
module type Hashtbl =sig..end
module Hashtbl:functor (H:Datatype.Hashtbl) ->functor (Data:Datatype.S) ->functor (Info:Info_with_size) ->Hashtblwith type key = H.key and type data = Data.t and module Datatype = H.Make(Data)
module Int_hashtbl:
module type Set_ref =sig..end
module Set_ref:
module type Queue =sig..end
module Queue:
module type Array =sig..end
module Array:functor (Data:Datatype.S) ->functor (Info:siginclude State_builder.Infoval default :Data.tend) ->Arraywith type elt = Data.t
module Proxy:sig..end
module type Counter =sig..end
module SharedCounter:
module Counter:
val apply_once : string -> State.t list -> (unit -> unit) -> (unit -> unit) * State.tapply_once name dep f returns a closure applying f only once and the
state internally used. name and dep are respectively the name and
the dependencies of the local state created by this function. Should
be used partially applied. If f raises an exception, then it is
considered as not applied.module States:sig..end