Maintainer | Ertugrul Soeylemez <es@ertes.de> |
---|
Wires for generating and manipulating events.
- after :: forall e t (>~). (ArrowClock >~, Monoid e, Num t, Ord t, Time >~ ~ t) => Wire e >~ t ()
- at :: (ArrowClock >~, Monoid e, Ord t, Time >~ ~ t) => Wire e >~ t ()
- delayEvents :: forall b e t (>~). (ArrowClock >~, Monoid e, Num t, Ord t, Time >~ ~ t) => Wire e >~ ([b], t) b
- delayEventsSafe :: forall b e t (>~). (ArrowClock >~, Monoid e, Num t, Ord t, Time >~ ~ t) => Wire e >~ (([b], t), Int) b
- periodically :: forall e t (>~). (ArrowClock >~, Monoid e, Num t, Ord t, Time >~ ~ t) => Wire e >~ t ()
- inhibit :: Wire e >~ e b
- never :: Monoid e => Wire e >~ a b
- asSoonAs :: Monoid e => Wire e >~ Bool ()
- edge :: forall e (>~). Monoid e => Wire e >~ Bool ()
- require :: Monoid e => Wire e >~ Bool ()
- forbid :: Monoid e => Wire e >~ Bool ()
- while :: Monoid e => Wire e >~ Bool ()
- notYet :: Monoid e => Wire e >~ b b
- once :: Monoid e => Wire e >~ b b
Event generation
Timed
after :: forall e t (>~). (ArrowClock >~, Monoid e, Num t, Ord t, Time >~ ~ t) => Wire e >~ t ()Source
Produces once after the input time delta has passed.
- Depends: Current instant.
- Inhibits: Always except at the target instant.
at :: (ArrowClock >~, Monoid e, Ord t, Time >~ ~ t) => Wire e >~ t ()Source
Produces once as soon as the current time is later than or equal to the current time and never again.
- Depends: Current instant.
- Inhibits: Always except at the target instant.
delayEvents :: forall b e t (>~). (ArrowClock >~, Monoid e, Num t, Ord t, Time >~ ~ t) => Wire e >~ ([b], t) bSource
Delays each incoming event (left signal) by the given time delta (right signal). The time delta at the instant the event happened is significant.
- Depends: Current instant.
- Inhibits: When no delayed event happened.
delayEventsSafe :: forall b e t (>~). (ArrowClock >~, Monoid e, Num t, Ord t, Time >~ ~ t) => Wire e >~ (([b], t), Int) bSource
Delays each incoming event (left signal) by the given time delta (middle signal). The time delta at the instant the event happened is significant. The right signal gives a maximum number of events queued. When exceeded, new events are dropped, until there is enough room.
- Depends: Current instant.
- Inhibits: When no delayed event happened.
periodically :: forall e t (>~). (ArrowClock >~, Monoid e, Num t, Ord t, Time >~ ~ t) => Wire e >~ t ()Source
Periodically produces an event. The period is given by the input time delta and can change over time. The current time delta with respect to the last production is significant. Does not produce at the first instant, unless the first delta is nonpositive.
- Depends: Current instant.
- Inhibits: Always except at the periodic ticks.
Unconditional inhibition
inhibit :: Wire e >~ e bSource
Never produces. Always inhibits with the current input signal.
- Depends: Current instant.
- Inhibits: Always.