ordrea-0.2.0.0: Push-pull implementation of discrete-time FRP

Safe HaskellNone

FRP.Ordrea.Base

Contents

Description

This is an internal module.

Synopsis

Documentation

data Event a Source

Instances

data ExternalEvent a Source

Push-based asynchronous events.

listenToExternalEvent :: ExternalEvent a -> WeakLike (a -> IO ()) -> IO ()Source

filterE :: (a -> Bool) -> Event a -> Event aSource

scanE :: a -> Event (a -> a) -> SignalGen (Event a)Source

mapAccumE :: s -> Event (s -> (s, a)) -> SignalGen (Event a)Source

mapAccumEM :: s -> Event (s -> SignalGen (s, a)) -> SignalGen (Event a)Source

accumE :: a -> Event (a -> a) -> SignalGen (Event a)Source

Deprecated: accumE has been renamed to scanE

scanAccumE :: s -> Event (s -> (s, a)) -> SignalGen (Event a)Source

Deprecated: scanAccumE has been renamed to mapAccumE

scanAccumEM :: s -> Event (s -> SignalGen (s, a)) -> SignalGen (Event a)Source

Deprecated: scanAccumEM has been renamed to mapAccumEM

mapMaybeE :: (a -> Maybe b) -> Event a -> Event bSource

externalE :: ExternalEvent a -> SignalGen (Event a)Source

Create a new event that occurs every time the given external event occurs.

takeWhileE :: (a -> Bool) -> Event a -> SignalGen (Event a)Source

delayE :: Event a -> SignalGen (Event a)Source

delayE evt creates an event whose occurrences at step N is equal to the ocurrences of evt at step N-1.

accumD :: a -> Event (a -> a) -> SignalGen (Discrete a)Source

applySE :: Signal (a -> b) -> Event a -> Event bSource

(<@>) :: TimeFunction s => s (a -> b) -> Event a -> Event bSource

(<@) :: TimeFunction s => s b -> Event a -> Event bSource

internal stuff

newRef :: MonadIO m => a -> m (IORef a)Source

readRef :: MonadIO m => IORef a -> m aSource

writeRef :: MonadIO m => IORef a -> a -> m ()Source

modifyRef :: MonadIO m => IORef a -> (a -> a) -> m ()Source

weakToLike :: Weak a -> WeakLike aSource