This module defines a higher-level abstraction on top of channels, called signal loops. A signal loop is a function which produces a signal, given partial information about its own future values.
runLoop :: forall a eff. a -> Loop (channel :: CHANNEL | eff) a -> Eff (channel :: CHANNEL | eff) (Signal a)
Run a loop, given an initial value.
The effects of the
Emitters are run inside of Eff. The initial value and
the emitted values are provided by the Signal in this Eff's return value.
If you aren't using these values outside of your
Emitters then you don’t
need to use this Signal.