Up

Module Type_generic = Type_generic

Signature

module type Named = sig .. end
module type Computation = sig .. end
module Make_named_for_closure (X : sig .. end) : Named with type 'a computation := 'a X.t
Not all computations are arrow types.
module Ident : sig .. end
module type S = sig .. end
module Make (X : sig .. end) : S with type 'a t = 'a X.t
The name is used for debug information only in case of Broken_dependency. The required is to handle dependencies between generics at runtime. Example: if X is the module given to build a generic computation G that depends on three other computation A,B,C then X.required shall be A.ident ; B.ident ; C.ident