sig
type +'a event
type +'a behavior
val never : 'a Fr.event
val now : unit Fr.event
type -'a event_receiver
val event_receiver : unit -> 'a Fr.event_receiver * 'a Fr.event
val send_event : 'a Fr.event_receiver -> 'a -> unit
val tag_e : 'a -> 'b Fr.event -> 'a Fr.event
val map_e : ('a -> 'b) -> 'a Fr.event -> 'b Fr.event
val filter_e : ('a -> bool) -> 'a Fr.event -> 'a Fr.event
val may_e : 'a option Fr.event -> 'a Fr.event
val zip_e : 'a Fr.event -> 'b Fr.event -> ('a * 'b) Fr.event
val unzip_e : ('a * 'b) Fr.event -> 'a Fr.event * 'b Fr.event
val merge_e : 'a Fr.event list -> 'a Fr.event
val par_e : 'a Fr.event list -> 'a list Fr.event
val once_e : 'a Fr.event -> 'a Fr.event
val snapshot_e : 'a Fr.event -> 'b Fr.event -> 'a option Fr.event
val accum_e : 'a -> ('a -> 'a) Fr.event -> 'a Fr.event
val collect_e : ('a -> 'b -> 'a) -> 'a -> 'b Fr.event -> 'a Fr.event
val changes : 'a Fr.behavior -> 'a Fr.event
val changesq : 'a Fr.behavior -> 'a Fr.event
val delta : ('a -> 'a -> 'b) -> 'a Fr.behavior -> 'b Fr.event
val when_e : bool Fr.behavior -> unit Fr.event
val edge_e : 'a option Fr.behavior -> 'a Fr.event
val switch_e : 'a Fr.event -> 'a Fr.event Fr.event -> 'a Fr.event
val map_wait_e : ('a -> 'b Fr.event) -> 'a Fr.event -> 'b Fr.event
val collapse_e : 'a Fr.event Fr.behavior -> 'a Fr.event
val fix_e : ('a -> 'b Fr.event) -> ('b Fr.event -> 'a) -> 'a
type -'a cell
val new_cell : 'a -> 'a Fr.cell * 'a Fr.behavior
val set_cell : 'a Fr.cell -> 'a -> unit
val snapshot_b : 'a Fr.behavior -> 'b Fr.event -> 'a Fr.event
val latch : 'a Fr.behavior -> 'b Fr.event -> 'a Fr.event
val hold : 'a -> 'a Fr.event -> 'a Fr.behavior
val gate_b : 'a Fr.behavior -> 'b Fr.event -> 'a Fr.behavior
val track : 'a -> 'a option Fr.behavior -> 'a Fr.behavior
val zip_b : 'a Fr.behavior -> 'b Fr.behavior -> ('a * 'b) Fr.behavior
val unzip_b : ('a * 'b) Fr.behavior -> 'a Fr.behavior * 'b Fr.behavior
val par_b : 'a Fr.behavior list -> 'a list Fr.behavior
val accum_b : 'a -> ('a -> 'a) Fr.event -> 'a Fr.behavior
val collect_b : ('a -> 'b -> 'a) -> 'a -> 'b Fr.event -> 'a Fr.behavior
val switch_b : 'a Fr.behavior -> 'a Fr.behavior Fr.event -> 'a Fr.behavior
val sswitch_b :
('a -> 'b) ->
('b -> 'a Fr.behavior) ->
'b -> ('b -> 'a Fr.behavior) Fr.event -> 'a Fr.behavior
val collapse_b : 'a Fr.behavior Fr.behavior -> 'a Fr.behavior
val scollapse_b :
('a -> 'b) -> 'b -> ('b -> 'a Fr.behavior) Fr.behavior -> 'a Fr.behavior
val fix_b : ('a -> 'b Fr.behavior) -> ('b Fr.behavior -> 'a) -> 'a
val lift0 : 'a -> 'a Fr.behavior
val lift1 : ('a -> 'b) -> 'a Fr.behavior -> 'b Fr.behavior
val lift2 :
('a -> 'b -> 'c) -> 'a Fr.behavior -> 'b Fr.behavior -> 'c Fr.behavior
val lift3 :
('a -> 'b -> 'c -> 'd) ->
'a Fr.behavior -> 'b Fr.behavior -> 'c Fr.behavior -> 'd Fr.behavior
val lift1q : ('a -> 'b) -> 'a Fr.behavior -> 'b Fr.behavior
val lift2q :
('a -> 'b -> 'c) -> 'a Fr.behavior -> 'b Fr.behavior -> 'c Fr.behavior
val lift3q :
('a -> 'b -> 'c -> 'd) ->
'a Fr.behavior -> 'b Fr.behavior -> 'c Fr.behavior -> 'd Fr.behavior
type endpoint
val register_e : 'a Fr.event -> Fr.endpoint
val register_b : 'a Fr.behavior -> Fr.endpoint
val unregister : Fr.endpoint -> unit
val event_source :
('a Fr.event_receiver -> 'b) -> ('b -> unit) -> 'a Fr.event
val behavior_source :
(unit -> 'a) -> ('a Fr.cell -> 'b) -> ('b -> unit) -> 'a Fr.behavior
val id : 'a -> 'a
val dup : 'a -> 'a * 'a
val some : 'a -> 'a option
val curry2 : ('a * 'b -> 'c) -> 'a -> 'b -> 'c
val uncurry2 : ('a -> 'b -> 'c) -> 'a * 'b -> 'c
val curry3 : (('a * 'b) * 'c -> 'd) -> 'a -> 'b -> 'c -> 'd
val uncurry3 : ('a -> 'b -> 'c -> 'd) -> ('a * 'b) * 'c -> 'd
val ( $ ) : ('a -> 'b) -> ('c -> 'a) -> 'c -> 'b
val first : 'a -> 'b -> 'a
val second : 'a -> 'b -> 'b
val ( =* ) : 'a -> 'a -> bool
val ( <>* ) : 'a -> 'a -> bool
module Mixed :
sig
type +'a t
val construct : 'a Fr.behavior -> 'a Fr.event -> 'a Fr.Mixed.t
val of_event : 'a Fr.event -> 'a option Fr.Mixed.t
val of_behavior : 'a Fr.behavior -> 'a Fr.Mixed.t
val with_event : 'a Fr.Mixed.t -> 'a Fr.event -> 'a Fr.Mixed.t
val with_behavior : 'a Fr.Mixed.t -> 'a Fr.behavior -> 'a Fr.Mixed.t
val behavior_part : 'a Fr.Mixed.t -> 'a Fr.behavior
val event_part : 'a Fr.Mixed.t -> 'a Fr.event
val destruct : 'a Fr.Mixed.t -> 'a Fr.behavior * 'a Fr.event
val nothing : 'a option Fr.Mixed.t
val map : ('a -> 'b) -> 'a Fr.Mixed.t -> 'b Fr.Mixed.t
val merge :
('a -> 'b -> 'c) -> 'a Fr.Mixed.t -> 'b Fr.Mixed.t -> 'c Fr.Mixed.t
val zip : 'a Fr.Mixed.t -> 'b Fr.Mixed.t -> ('a * 'b) Fr.Mixed.t
val snapshot : 'a Fr.Mixed.t -> 'b Fr.event -> 'a Fr.event
val unzip : ('a * 'b) Fr.Mixed.t -> 'a Fr.Mixed.t * 'b Fr.Mixed.t
val par : 'a Fr.Mixed.t list -> 'a list Fr.Mixed.t
val may : 'a -> 'a option Fr.Mixed.t -> 'a Fr.Mixed.t
val switch : 'a Fr.Mixed.t -> 'a Fr.Mixed.t Fr.event -> 'a Fr.Mixed.t
val collapse : 'a Fr.Mixed.t Fr.behavior -> 'a Fr.Mixed.t
val meta : 'a Fr.Mixed.t Fr.Mixed.t -> 'a Fr.Mixed.t
val fix : ('a -> 'b Fr.Mixed.t) -> ('b Fr.Mixed.t -> 'a) -> 'a
end
type 'a mixed = 'a Fr.Mixed.t
end