sig
type property =
Later of Property.t
| Proxy of Property.t * Emitter.t * Property.t list
module type Info =
sig
val name : string
val dependencies : State.t list
val size : int
type key
val property : Wprop.Info.key -> Wprop.property
end
module type Indexed =
sig
type key
val mem : Wprop.Indexed.key -> bool
val property : Wprop.Indexed.key -> Property.t
val add_hook : (Wprop.Indexed.key -> Property.t -> unit) -> unit
end
module type Indexed2 =
sig
type key1
type key2
val mem : Wprop.Indexed2.key1 -> Wprop.Indexed2.key2 -> bool
val property : Wprop.Indexed2.key1 -> Wprop.Indexed2.key2 -> Property.t
val add_hook :
(Wprop.Indexed2.key1 -> Wprop.Indexed2.key2 -> Property.t -> unit) ->
unit
end
module Indexed :
functor
(Key : Datatype.S_with_collections) (Info : sig
val name : string
val dependencies :
State.t list
val size : int
type key = Key.t
val property :
key -> property
end) ->
sig
type key = Key.t
val mem : key -> bool
val property : key -> Property.t
val add_hook : (key -> Property.t -> unit) -> unit
end
module Indexed2 :
functor
(Key1 : Datatype.S_with_collections) (Key2 : Datatype.S_with_collections) (Info :
sig
val name : string
val dependencies : State.t list
val size : int
type key = Key1.t * Key2.t
val property : key -> property
end) ->
sig
type key1 = Key1.t
type key2 = Key2.t
val mem : key1 -> key2 -> bool
val property : key1 -> key2 -> Property.t
val add_hook : (key1 -> key2 -> Property.t -> unit) -> unit
end
end