Safe Haskell | None |
---|---|

Language | Haskell2010 |

- oneshot :: (Functor f, Monad m) => (forall a. f (m a) -> m a) -> Object f m
- flyweight :: (Monad m, Ord k) => (k -> m a) -> Object (Request k a) m
- flyweight' :: (Monad m, Eq k, Hashable k) => (k -> m a) -> Object (Request k a) m
- animate :: (Applicative m, Num t) => (t -> m a) -> Object (Request t a) m
- transit :: (Alternative m, Fractional t, Ord t) => t -> (t -> m a) -> Object (Request t a) m
- announce :: (Traversable t, Monad m) => f a -> StateT (t (Object f m)) m [a]
- announceMaybe :: (Witherable t, Monad m) => f a -> StateT (t (Object f Maybe)) m [a]
- announceMaybeT :: (Witherable t, Monad m) => f a -> StateT (t (Object f (MaybeT m))) m [a]
- type Variable s = forall m. Monad m => Object (StateT s m) m
- variable :: s -> Variable s
- moore :: Applicative f => (a -> r -> f r) -> r -> Object (PushPull a r) f
- foldPP :: Applicative f => (a -> r -> r) -> r -> Object (PushPull a r) f
- (*-) :: MonadIO m => IORef (Object f m) -> f a -> m a
- invokeState :: f a -> StateT (Object f m) m a

# Documentation

oneshot :: (Functor f, Monad m) => (forall a. f (m a) -> m a) -> Object f m Source

Build an object using continuation passing style.

transit :: (Alternative m, Fractional t, Ord t) => t -> (t -> m a) -> Object (Request t a) m Source

announceMaybe :: (Witherable t, Monad m) => f a -> StateT (t (Object f Maybe)) m [a] Source

announceMaybeT :: (Witherable t, Monad m) => f a -> StateT (t (Object f (MaybeT m))) m [a] Source

moore :: Applicative f => (a -> r -> f r) -> r -> Object (PushPull a r) f Source

foldPP :: Applicative f => (a -> r -> r) -> r -> Object (PushPull a r) f Source

invokeState :: f a -> StateT (Object f m) m a Source