reflex-0.5: Higher-order Functional Reactive Programming

Safe HaskellNone
LanguageHaskell98

Reflex.PostBuild.Base

Contents

Description

This module defines PostBuildT, the standard implementation of PostBuild.

Synopsis

Documentation

newtype PostBuildT t m a Source #

Provides a basic implementation of PostBuild.

Constructors

PostBuildT 

Fields

Instances
(ReflexHost t, MonadReflexCreateTrigger t m) => MonadReflexCreateTrigger t (PostBuildT t m) Source # 
Instance details

Defined in Reflex.PostBuild.Base

Methods

newEventWithTrigger :: (EventTrigger t a -> IO (IO ())) -> PostBuildT t m (Event t a) Source #

newFanEventWithTrigger :: GCompare k => (forall a. k a -> EventTrigger t a -> IO (IO ())) -> PostBuildT t m (EventSelector t k) Source #

(Reflex t, MonadHold t m, MonadFix m, Adjustable t m, PerformEvent t m) => Adjustable t (PostBuildT t m) Source # 
Instance details

Defined in Reflex.PostBuild.Base

Methods

runWithReplace :: PostBuildT t m a -> Event t (PostBuildT t m b) -> PostBuildT t m (a, Event t b) Source #

traverseIntMapWithKeyWithAdjust :: (Key -> v -> PostBuildT t m v') -> IntMap v -> Event t (PatchIntMap v) -> PostBuildT t m (IntMap v', Event t (PatchIntMap v')) Source #

traverseDMapWithKeyWithAdjust :: GCompare k => (forall a. k a -> v a -> PostBuildT t m (v' a)) -> DMap k v -> Event t (PatchDMap k v) -> PostBuildT t m (DMap k v', Event t (PatchDMap k v')) Source #

traverseDMapWithKeyWithAdjustWithMove :: GCompare k => (forall a. k a -> v a -> PostBuildT t m (v' a)) -> DMap k v -> Event t (PatchDMapWithMove k v) -> PostBuildT t m (DMap k v', Event t (PatchDMapWithMove k v')) Source #

(Reflex t, Monad m) => PostBuild t (PostBuildT t m) Source # 
Instance details

Defined in Reflex.PostBuild.Base

Methods

getPostBuild :: PostBuildT t m (Event t ()) Source #

TriggerEvent t m => TriggerEvent t (PostBuildT t m) Source # 
Instance details

Defined in Reflex.PostBuild.Base

Methods

newTriggerEvent :: PostBuildT t m (Event t a, a -> IO ()) Source #

newTriggerEventWithOnComplete :: PostBuildT t m (Event t a, a -> IO () -> IO ()) Source #

newEventWithLazyTriggerWithOnComplete :: ((a -> IO () -> IO ()) -> IO (IO ())) -> PostBuildT t m (Event t a) Source #

PerformEvent t m => PerformEvent t (PostBuildT t m) Source # 
Instance details

Defined in Reflex.PostBuild.Base

Associated Types

type Performable (PostBuildT t m) :: Type -> Type Source #

NotReady t m => NotReady t (PostBuildT t m) Source # 
Instance details

Defined in Reflex.NotReady.Class

Methods

notReadyUntil :: Event t a -> PostBuildT t m () Source #

notReady :: PostBuildT t m () Source #

MonadTrans (PostBuildT t) Source # 
Instance details

Defined in Reflex.PostBuild.Base

Methods

lift :: Monad m => m a -> PostBuildT t m a #

MonadTransControl (PostBuildT t) Source #

Deprecated

Instance details

Defined in Reflex.PostBuild.Base

Associated Types

type StT (PostBuildT t) a :: Type #

Methods

liftWith :: Monad m => (Run (PostBuildT t) -> m a) -> PostBuildT t m a #

restoreT :: Monad m => m (StT (PostBuildT t) a) -> PostBuildT t m a #

MonadHold t m => MonadHold (t :: Type) (PostBuildT t m) Source # 
Instance details

Defined in Reflex.PostBuild.Base

Methods

hold :: a -> Event t a -> PostBuildT t m (Behavior t a) Source #

holdDyn :: a -> Event t a -> PostBuildT t m (Dynamic t a) Source #

holdIncremental :: Patch p => PatchTarget p -> Event t p -> PostBuildT t m (Incremental t p) Source #

buildDynamic :: PushM t a -> Event t a -> PostBuildT t m (Dynamic t a) Source #

headE :: Event t a -> PostBuildT t m (Event t a) Source #

MonadSample t m => MonadSample (t :: Type) (PostBuildT t m) Source # 
Instance details

Defined in Reflex.PostBuild.Base

Methods

sample :: Behavior t a -> PostBuildT t m a Source #

Monad m => Monad (PostBuildT t m) Source # 
Instance details

Defined in Reflex.PostBuild.Base

Methods

(>>=) :: PostBuildT t m a -> (a -> PostBuildT t m b) -> PostBuildT t m b #

(>>) :: PostBuildT t m a -> PostBuildT t m b -> PostBuildT t m b #

return :: a -> PostBuildT t m a #

fail :: String -> PostBuildT t m a #

Functor m => Functor (PostBuildT t m) Source # 
Instance details

Defined in Reflex.PostBuild.Base

Methods

fmap :: (a -> b) -> PostBuildT t m a -> PostBuildT t m b #

(<$) :: a -> PostBuildT t m b -> PostBuildT t m a #

MonadFix m => MonadFix (PostBuildT t m) Source # 
Instance details

Defined in Reflex.PostBuild.Base

Methods

mfix :: (a -> PostBuildT t m a) -> PostBuildT t m a #

Applicative m => Applicative (PostBuildT t m) Source # 
Instance details

Defined in Reflex.PostBuild.Base

Methods

pure :: a -> PostBuildT t m a #

(<*>) :: PostBuildT t m (a -> b) -> PostBuildT t m a -> PostBuildT t m b #

liftA2 :: (a -> b -> c) -> PostBuildT t m a -> PostBuildT t m b -> PostBuildT t m c #

(*>) :: PostBuildT t m a -> PostBuildT t m b -> PostBuildT t m b #

(<*) :: PostBuildT t m a -> PostBuildT t m b -> PostBuildT t m a #

MonadIO m => MonadIO (PostBuildT t m) Source # 
Instance details

Defined in Reflex.PostBuild.Base

Methods

liftIO :: IO a -> PostBuildT t m a #

MonadException m => MonadException (PostBuildT t m) Source # 
Instance details

Defined in Reflex.PostBuild.Base

Methods

throw :: Exception e => e -> PostBuildT t m a #

catch :: Exception e => PostBuildT t m a -> (e -> PostBuildT t m a) -> PostBuildT t m a #

finally :: PostBuildT t m a -> PostBuildT t m b -> PostBuildT t m a #

MonadAsyncException m => MonadAsyncException (PostBuildT t m) Source # 
Instance details

Defined in Reflex.PostBuild.Base

Methods

mask :: ((forall a. PostBuildT t m a -> PostBuildT t m a) -> PostBuildT t m b) -> PostBuildT t m b #

PrimMonad m => PrimMonad (PostBuildT x m) Source # 
Instance details

Defined in Reflex.PostBuild.Base

Associated Types

type PrimState (PostBuildT x m) :: Type #

Methods

primitive :: (State# (PrimState (PostBuildT x m)) -> (#State# (PrimState (PostBuildT x m)), a#)) -> PostBuildT x m a #

MonadRef m => MonadRef (PostBuildT t m) Source # 
Instance details

Defined in Reflex.PostBuild.Base

Associated Types

type Ref (PostBuildT t m) :: Type -> Type #

Methods

newRef :: a -> PostBuildT t m (Ref (PostBuildT t m) a) #

readRef :: Ref (PostBuildT t m) a -> PostBuildT t m a #

writeRef :: Ref (PostBuildT t m) a -> a -> PostBuildT t m () #

modifyRef :: Ref (PostBuildT t m) a -> (a -> a) -> PostBuildT t m () #

modifyRef' :: Ref (PostBuildT t m) a -> (a -> a) -> PostBuildT t m () #

MonadAtomicRef m => MonadAtomicRef (PostBuildT t m) Source # 
Instance details

Defined in Reflex.PostBuild.Base

Methods

atomicModifyRef :: Ref (PostBuildT t m) a -> (a -> (a, b)) -> PostBuildT t m b #

atomicModifyRef' :: Ref (PostBuildT t m) a -> (a -> (a, b)) -> PostBuildT t m b #

(Semigroup a, Applicative m) => Semigroup (PostBuildT t m a) Source # 
Instance details

Defined in Reflex.PostBuild.Base

Methods

(<>) :: PostBuildT t m a -> PostBuildT t m a -> PostBuildT t m a #

sconcat :: NonEmpty (PostBuildT t m a) -> PostBuildT t m a #

stimes :: Integral b => b -> PostBuildT t m a -> PostBuildT t m a #

(Monoid a, Applicative m) => Monoid (PostBuildT t m a) Source # 
Instance details

Defined in Reflex.PostBuild.Base

Methods

mempty :: PostBuildT t m a #

mappend :: PostBuildT t m a -> PostBuildT t m a -> PostBuildT t m a #

mconcat :: [PostBuildT t m a] -> PostBuildT t m a #

type StT (PostBuildT t) a Source # 
Instance details

Defined in Reflex.PostBuild.Base

type StT (PostBuildT t) a = StT (ReaderT (Event t ()) :: (Type -> Type) -> Type -> Type) a
type PrimState (PostBuildT x m) Source # 
Instance details

Defined in Reflex.PostBuild.Base

type Ref (PostBuildT t m) Source # 
Instance details

Defined in Reflex.PostBuild.Base

type Ref (PostBuildT t m) = Ref m
type Performable (PostBuildT t m) Source # 
Instance details

Defined in Reflex.PostBuild.Base

runPostBuildT :: PostBuildT t m a -> Event t () -> m a Source #

Run a PostBuildT action. An Event should be provided that fires immediately after the action is finished running; no other Events should fire first.

Internal

mapIntMapWithAdjustImpl :: forall t m v v' p. (Reflex t, MonadFix m, MonadHold t m, Functor p) => ((Key -> (Event t (), v) -> m v') -> IntMap (Event t (), v) -> Event t (p (Event t (), v)) -> m (IntMap v', Event t (p v'))) -> (Key -> v -> PostBuildT t m v') -> IntMap v -> Event t (p v) -> PostBuildT t m (IntMap v', Event t (p v')) Source #

mapDMapWithAdjustImpl :: forall t m k v v' p. (Reflex t, MonadFix m, MonadHold t m) => ((forall a. k a -> Compose ((,) (Bool, Event t ())) v a -> m (v' a)) -> DMap k (Compose ((,) (Bool, Event t ())) v) -> Event t (p k (Compose ((,) (Bool, Event t ())) v)) -> m (DMap k v', Event t (p k v'))) -> ((forall a. v a -> Compose ((,) (Bool, Event t ())) v a) -> p k v -> p k (Compose ((,) (Bool, Event t ())) v)) -> (forall a. k a -> v a -> PostBuildT t m (v' a)) -> DMap k v -> Event t (p k v) -> PostBuildT t m (DMap k v', Event t (p k v')) Source #