functor (W : Weak.S) ->
functor
(Data : sig
type t = W.data
val descr : Unmarshal.t
val copy : t -> t
val name : string
val register_comparable :
?compare:(t -> t -> int) ->
?equal:(t -> t -> bool) -> ?hash:(t -> int) -> unit -> unit
val is_comparable_set : unit -> bool
val hash : t -> int
val equal : t -> t -> bool
val compare : t -> t -> int
val mem_project :
((Project.project -> bool) -> t -> bool) option ref
end) ->
functor (Info : Signature.NAME_SIZE_DPDS) ->
sig
val self : Project.Computation.t
val select :
Kind.how ->
Project.Computation.selection -> Project.Computation.selection
val depend : Project.Computation.t -> unit
val name : string
val mark_as_computed : ?project:Project.project -> unit -> unit
val is_computed : ?project:Project.project -> unit -> bool
val do_not_save : unit -> unit
module Datatype : Project.Datatype.S
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