Module Model

module Model: sig .. end
TODO: register and find below?

Model Registration


type model = {
   id : string;
   descr : string;
   emitter : Emitter.t;
   mutable params : tuning list;
}
type tuning = unit -> unit 
val repr : model
module D: Datatype.Make_with_collections(sig
type t = Model.model 
val name : string
val rehash : 'a -> 'a
val structural_descr : Structural_descr.t
TODO: register and find below?
val reprs : Model.model list
val equal : Model.model -> Model.model -> bool
val compare : Model.model -> Model.model -> int
val hash : Model.model -> int
val copy : 'a -> 'a
val internal_pretty_code : 'a -> Format.formatter -> Model.model -> unit
val pretty : Format.formatter -> Model.model -> unit
val mem_project : (Project_skeleton.t -> bool) -> 'a -> bool
val varname : 'a -> string
end)
module MODELS: sig .. end
val find : id:MODELS.H.key -> model
val iter : (model -> unit) -> unit
val register : id:MODELS.H.key ->
?descr:MODELS.H.key -> ?tuning:tuning list -> unit -> model
val get_id : model -> string
val get_descr : model -> string
val model : model Context.value
val bind : (unit -> 'a) list -> unit
val back : model option -> unit
val with_model : model -> ('a -> 'b) -> 'a -> 'b
val on_model : model -> (unit -> 'a) -> 'a
val get_model : unit -> model
Current model
val get_emitter : model -> Emitter.t
val directory : unit -> string
Current model in "-wp-out" directory
module type Entries = sig .. end
module type Registry = sig .. end
module Index: 
functor (E : Entries) -> sig .. end
module type Key = sig .. end
module type Data = sig .. end
module type Generator = sig .. end
module Generator: 
functor (K : Key) ->
functor (D : Data with type key = K.t) -> sig .. end
module S: D
type t = S.t