Logtk.SignalA signal can be used to decouple the (unique) emitter of some event, and (multiple) receivers for this event. The signal is typically created by the emitter (in the same module), and exposed; then, observers can register to the signal and be notified every time an event (a value) is emitted through the signal.
val create : unit -> 'a tNew signal
val send : 'a t -> 'a -> unitTrigger the signal
val on : 'a t -> ('a -> handler_response) -> unitRegister a handler to the signal; the handler returns true if it wants to continue being notified, false otherwise
val on_every : 'a t -> ('a -> _) -> uniton_every s f calls f on every event signalled on s
val once : 'a t -> ('a -> 'b) -> unitRegister a handler to be called only once
propagate a b propagates all values of a into b. Cycles are not detected.