module Make: functor (Module_name : sig
type t 
module Set: Set.S  with type elt = t
module Map: Map.S  with type key = t
module Tbl: Hashtbl.S  with type key = t
val compare : t -> t -> int
 end) -> sig .. end
| Parameters:  | 
Module_name | 
: | 
sig
  type t
  module Set : Set.S with type elt = t
  module Map : Map.S with type key = t
  module Tbl : Hashtbl.S with type key = t
  val compare : t -> t -> int
end
 |   
 | 
type t 
val create : unit -> t
val clear : t -> unit
val check : t -> Module_name.t -> Digest.t -> Misc.filepath -> unit
val check_noadd : t -> Module_name.t -> Digest.t -> Misc.filepath -> unit
val set : t -> Module_name.t -> Digest.t -> Misc.filepath -> unit
val source : t -> Module_name.t -> Misc.filepath
 : Module_name.t list ->
       t -> (Module_name.t * Digest.t option) list
 : Module_name.Set.t ->
       t -> Digest.t option Module_name.Map.t
val filter : (Module_name.t -> bool) -> t -> unit
exception Inconsistency of {
   | 
unit_name : Module_name.t; | 
   | 
inconsistent_source : string; | 
   | 
original_source : string; | 
}
exception Not_available of Module_name.t