Safe Haskell | None |
---|
- data Moment t a
- data AnyMoment f a
- anyMoment :: (forall t. Moment t (f t a)) -> AnyMoment f a
- now :: AnyMoment f a -> forall t. Moment t (f t a)
- trimE :: Event t a -> Moment t (AnyMoment Event a)
- trimB :: Behavior t a -> Moment t (AnyMoment Behavior a)
- switchE :: forall t a. Event t (AnyMoment Event a) -> Event t a
- switchB :: forall t a. Behavior t a -> Event t (AnyMoment Behavior a) -> Behavior t a
- observeE :: Event t (AnyMoment Identity a) -> Event t a
- valueB :: Behavior t a -> Moment t a
- newtype Identity t a = Identity {
- getIdentity :: a
Synopsis
Dynamic event switching.
Moment monad
The Moment
monad denotes a value at a particular moment in time.
This monad is not very interesting, it is mainly used for book-keeping.
In particular, the type parameter t
is used
to disallow various unhealthy programs.
This monad is also used to describe event networks
in the Reactive.Banana.Frameworks module.
This only happens when the type parameter t
is constrained by the Frameworks
class.
To be precise, an expression of type Moment t a
denotes
a value of type a
that is observed at a moment in time
which is indicated by the type parameter t
.
Value present at any/every moment in time.
Dynamic event switching
trimB :: Behavior t a -> Moment t (AnyMoment Behavior a)Source
Trim a Behavior
to a variable start time.
switchE :: forall t a. Event t (AnyMoment Event a) -> Event t aSource
Dynamically switch between Event
.
switchB :: forall t a. Behavior t a -> Event t (AnyMoment Behavior a) -> Behavior t aSource
Dynamically switch between Behavior
.
observeE :: Event t (AnyMoment Identity a) -> Event t aSource
Observe a value at those moments in time where event occurrences happen.