| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Graphics.XHB.AtomCache
- data AtomId = forall l . AtomLike l => AtomId l
- class (Eq l, Hashable l, Typeable l) => AtomLike l where
- newtype AtomCacheT m a = AtomCacheT {}
- class Monad m => AtomCacheCtx m where
- insertATOM :: AtomLike l => l -> ATOM -> m ()
- lookupATOM :: AtomLike l => l -> m (Maybe ATOM)
- unsafeLookupATOM :: AtomLike l => l -> m ATOM
- lookupAtomId :: ATOM -> m (Maybe AtomId)
- unsafeLookupAtomId :: ATOM -> m AtomId
- type AtomName = String
- atomName :: AtomId -> AtomName
- runAtomCacheT :: Monad m => AtomCacheT m a -> m a
- seedAtoms :: (AtomLike l, Applicative m, MonadIO m) => Connection -> [l] -> AtomCacheT m a -> AtomCacheT m (Either SomeError a)
- tryLookupAtom :: (AtomLike l, AtomCacheCtx m, MonadIO m) => Connection -> l -> m (Either SomeError ATOM)
Documentation
newtype AtomCacheT m a Source
Constructors
| AtomCacheT | |
Instances
| MonadTrans AtomCacheT | |
| MonadError e m => MonadError e (AtomCacheT m) | |
| MonadReader r m => MonadReader r (AtomCacheT m) | |
| MonadState s m => MonadState s (AtomCacheT m) | |
| MonadWriter w m => MonadWriter w (AtomCacheT m) | |
| Monad m => Monad (AtomCacheT m) | |
| Functor m => Functor (AtomCacheT m) | |
| (Monad m, Functor m) => Applicative (AtomCacheT m) | |
| MonadIO m => MonadIO (AtomCacheT m) | |
| Monad m => AtomCacheCtx (AtomCacheT m) | |
| Typeable ((* -> *) -> * -> *) AtomCacheT |
class Monad m => AtomCacheCtx m where Source
Methods
insertATOM :: AtomLike l => l -> ATOM -> m () Source
lookupATOM :: AtomLike l => l -> m (Maybe ATOM) Source
unsafeLookupATOM :: AtomLike l => l -> m ATOM Source
lookupAtomId :: ATOM -> m (Maybe AtomId) Source
unsafeLookupAtomId :: ATOM -> m AtomId Source
Instances
| (AtomCacheCtx m, MonadTrans t, Monad (t m)) => AtomCacheCtx (t m) | |
| Monad m => AtomCacheCtx (AtomCacheT m) |
runAtomCacheT :: Monad m => AtomCacheT m a -> m a Source
seedAtoms :: (AtomLike l, Applicative m, MonadIO m) => Connection -> [l] -> AtomCacheT m a -> AtomCacheT m (Either SomeError a) Source
tryLookupAtom :: (AtomLike l, AtomCacheCtx m, MonadIO m) => Connection -> l -> m (Either SomeError ATOM) Source
Lookup AtomName in cache first, if that fails, try to fetch from the X server and put it into the cache