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, Elevate (State (t (Object f g))) m, Elevate g m) => f a -> m [a]
- announceMaybe :: (Witherable t, Monad m, Elevate (State (t (Object f Maybe))) m) => f a -> m [a]
- announceMaybeT :: (Witherable t, Monad m, State (t (Object f (MaybeT g))) ∈ Floors1 m, g ∈ Floors1 m, Tower m) => f a -> m [a]
- announceMortal :: (Witherable t, Monad m, State (t (Mortal f g ())) ∈ Floors1 m, g ∈ Floors1 m, Tower m) => f a -> 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
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
announce :: (Traversable t, Monad m, Elevate (State (t (Object f g))) m, Elevate g m) => f a -> m [a] Source
announceMaybe :: (Witherable t, Monad m, Elevate (State (t (Object f Maybe))) m) => f a -> m [a] Source
announceMaybeT :: (Witherable t, Monad m, State (t (Object f (MaybeT g))) ∈ Floors1 m, g ∈ Floors1 m, Tower m) => f a -> m [a] Source
announceMortal :: (Witherable t, Monad m, State (t (Mortal f g ())) ∈ Floors1 m, g ∈ Floors1 m, Tower m) => f a -> 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