reflex-vty-0.1.4.0: Reflex FRP host and widgets for vty applications
Safe HaskellNone
LanguageHaskell2010

Control.Monad.NodeId

Description

 
Synopsis

Documentation

data NodeId Source #

A unique identifier with respect to the runNodeIdT in which it was generated

Instances

Instances details
Eq NodeId Source # 
Instance details

Defined in Control.Monad.NodeId

Methods

(==) :: NodeId -> NodeId -> Bool #

(/=) :: NodeId -> NodeId -> Bool #

Ord NodeId Source # 
Instance details

Defined in Control.Monad.NodeId

Show NodeId Source # 
Instance details

Defined in Control.Monad.NodeId

class Monad m => MonadNodeId m where Source #

Members of this class can request new identifiers that are unique in the action in which they are obtained (i.e., all calls to getNextNodeId in a given runNodeIdT will produce unique results)

Minimal complete definition

Nothing

Methods

getNextNodeId :: m NodeId Source #

default getNextNodeId :: (MonadTrans t, MonadNodeId n, m ~ t n) => m NodeId Source #

Instances

Instances details
MonadIO m => MonadNodeId (NodeIdT m) Source # 
Instance details

Defined in Control.Monad.NodeId

MonadNodeId m => MonadNodeId (ReaderT x m) Source # 
Instance details

Defined in Control.Monad.NodeId

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

Defined in Control.Monad.NodeId

MonadNodeId m => MonadNodeId (TriggerEventT t m) Source # 
Instance details

Defined in Control.Monad.NodeId

MonadNodeId m => MonadNodeId (VtyWidget t m) Source # 
Instance details

Defined in Reflex.Vty.Widget

MonadNodeId m => MonadNodeId (Layout t m) Source # 
Instance details

Defined in Reflex.Vty.Widget.Layout

MonadNodeId m => MonadNodeId (BehaviorWriterT t x m) Source # 
Instance details

Defined in Control.Monad.NodeId

MonadNodeId m => MonadNodeId (DynamicWriterT t x m) Source # 
Instance details

Defined in Control.Monad.NodeId

MonadNodeId m => MonadNodeId (EventWriterT t x m) Source # 
Instance details

Defined in Control.Monad.NodeId

data NodeIdT m a Source #

A monad transformer that internally keeps track of the next NodeId

Instances

Instances details
MonadTrans NodeIdT Source # 
Instance details

Defined in Control.Monad.NodeId

Methods

lift :: Monad m => m a -> NodeIdT m a #

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

Defined in Control.Monad.NodeId

Methods

notReadyUntil :: Event t a -> NodeIdT m () #

notReady :: NodeIdT m () #

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

Defined in Control.Monad.NodeId

Associated Types

type Performable (NodeIdT m) :: Type -> Type #

Methods

performEvent :: Event t (Performable (NodeIdT m) a) -> NodeIdT m (Event t a) #

performEvent_ :: Event t (Performable (NodeIdT m) ()) -> NodeIdT m () #

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

Defined in Control.Monad.NodeId

Methods

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

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

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

PostBuild t m => PostBuild t (NodeIdT m) Source # 
Instance details

Defined in Control.Monad.NodeId

Methods

getPostBuild :: NodeIdT m (Event t ()) #

MonadReflexCreateTrigger t m => MonadReflexCreateTrigger t (NodeIdT m) Source # 
Instance details

Defined in Control.Monad.NodeId

Methods

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

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

Adjustable t m => Adjustable t (NodeIdT m) Source # 
Instance details

Defined in Control.Monad.NodeId

Methods

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

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

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

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

HasDisplaySize t m => HasDisplaySize t (NodeIdT m) Source # 
Instance details

Defined in Reflex.Vty.Widget

Monad m => Monad (NodeIdT m) Source # 
Instance details

Defined in Control.Monad.NodeId

Methods

(>>=) :: NodeIdT m a -> (a -> NodeIdT m b) -> NodeIdT m b #

(>>) :: NodeIdT m a -> NodeIdT m b -> NodeIdT m b #

return :: a -> NodeIdT m a #

Functor m => Functor (NodeIdT m) Source # 
Instance details

Defined in Control.Monad.NodeId

Methods

fmap :: (a -> b) -> NodeIdT m a -> NodeIdT m b #

(<$) :: a -> NodeIdT m b -> NodeIdT m a #

MonadFix m => MonadFix (NodeIdT m) Source # 
Instance details

Defined in Control.Monad.NodeId

Methods

mfix :: (a -> NodeIdT m a) -> NodeIdT m a #

Applicative m => Applicative (NodeIdT m) Source # 
Instance details

Defined in Control.Monad.NodeId

Methods

pure :: a -> NodeIdT m a #

(<*>) :: NodeIdT m (a -> b) -> NodeIdT m a -> NodeIdT m b #

liftA2 :: (a -> b -> c) -> NodeIdT m a -> NodeIdT m b -> NodeIdT m c #

(*>) :: NodeIdT m a -> NodeIdT m b -> NodeIdT m b #

(<*) :: NodeIdT m a -> NodeIdT m b -> NodeIdT m a #

MonadIO m => MonadIO (NodeIdT m) Source # 
Instance details

Defined in Control.Monad.NodeId

Methods

liftIO :: IO a -> NodeIdT m a #

MonadRef m => MonadRef (NodeIdT m) Source # 
Instance details

Defined in Control.Monad.NodeId

Associated Types

type Ref (NodeIdT m) :: Type -> Type #

Methods

newRef :: a -> NodeIdT m (Ref (NodeIdT m) a) #

readRef :: Ref (NodeIdT m) a -> NodeIdT m a #

writeRef :: Ref (NodeIdT m) a -> a -> NodeIdT m () #

modifyRef :: Ref (NodeIdT m) a -> (a -> a) -> NodeIdT m () #

modifyRef' :: Ref (NodeIdT m) a -> (a -> a) -> NodeIdT m () #

MonadIO m => MonadNodeId (NodeIdT m) Source # 
Instance details

Defined in Control.Monad.NodeId

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

Defined in Control.Monad.NodeId

Methods

sample :: Behavior t a -> NodeIdT m a #

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

Defined in Control.Monad.NodeId

Methods

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

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

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

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

headE :: Event t a -> NodeIdT m (Event t a) #

type Ref (NodeIdT m) Source # 
Instance details

Defined in Control.Monad.NodeId

type Ref (NodeIdT m) = Ref (ReaderT (IORef NodeId) m)
type Performable (NodeIdT m) Source # 
Instance details

Defined in Control.Monad.NodeId

runNodeIdT :: MonadIO m => NodeIdT m a -> m a Source #

Runs a NodeIdT action