sig
type ('a, 'b, 'c) work
type ('a, 'b, 'c) gate
type ('a, 'b, 'c) wire
type ('a, 'b, 'c, 'd) guard =
(('a, 'b, 'c) Cf_state_gadget.gate, 'd) Cf_cmonad.t
type ('a, 'b, 'c, 'd) t =
(('a, 'b, 'c) Cf_state_gadget.work, 'd) Cf_cmonad.t
val eval : ('a, 'b, 'c, unit) Cf_state_gadget.t -> 'a -> ('b, 'c) Cf_flow.t
val start :
('a, 'b, 'c, unit) Cf_state_gadget.t ->
'a -> ('d, 'b, 'c, unit) Cf_state_gadget.t
val guard :
('a, 'b, 'c, unit) Cf_state_gadget.guard ->
('a, 'b, 'c, 'd) Cf_state_gadget.t
val abort : ('a, 'b, 'c, 'd) Cf_state_gadget.t
val wire :
('a, 'b, 'c, ('d, 'b, 'c) Cf_state_gadget.wire) Cf_state_gadget.t
val wirepair :
('a, 'b, 'c,
('d, 'b, 'c) Cf_state_gadget.wire * ('e, 'b, 'c) Cf_state_gadget.wire)
Cf_state_gadget.t
val null : ('a, 'b, 'c) Cf_state_gadget.wire
val read : ('a, 'b, 'c, 'b) Cf_state_gadget.t
val write : 'a -> ('b, 'c, 'a, unit) Cf_state_gadget.t
val load : ('a, 'b, 'c, 'a) Cf_state_gadget.t
val store : 'a -> ('a, 'b, 'c, unit) Cf_state_gadget.t
val modify : ('a -> 'a) -> ('a, 'b, 'c, unit) Cf_state_gadget.t
class type connector = object method check : bool method id : string end
class ['a, 'b, 'c] rx :
('a, 'b, 'c) Cf_state_gadget.wire ->
object
method check : bool
method get :
('a -> ('d, 'b, 'c, unit) Cf_state_gadget.t) ->
('d, 'b, 'c, unit) Cf_state_gadget.guard
method id : string
end
class ['a, 'b, 'c] tx :
('a, 'b, 'c) Cf_state_gadget.wire ->
object
method check : bool
method id : string
method put : 'a -> ('d, 'b, 'c, unit) Cf_state_gadget.t
end
val simplex :
('a, 'b, 'c,
('d, 'b, 'c) Cf_state_gadget.rx * ('d, 'b, 'c) Cf_state_gadget.tx)
Cf_state_gadget.t
type ('a, 'b, 'c, 'd) pad =
('a, 'c, 'd) Cf_state_gadget.rx * ('b, 'c, 'd) Cf_state_gadget.tx
type ('a, 'b, 'c, 'd) fix =
('b, 'c, 'd) Cf_state_gadget.rx * ('a, 'c, 'd) Cf_state_gadget.tx
val duplex :
('a, 'b, 'c,
('d, 'e, 'b, 'c) Cf_state_gadget.pad *
('d, 'e, 'b, 'c) Cf_state_gadget.fix)
Cf_state_gadget.t
val wrap :
('a, 'b, 'c) #Cf_state_gadget.rx ->
('d, 'b, 'c) #Cf_state_gadget.tx ->
('a, 'd) Cf_flow.t -> ('e, 'b, 'c, unit) Cf_state_gadget.t
end