Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data Freer s sq (f :: (* -> *) -> * -> * -> *) t a
- data Fun s sq f t a b
- pattern Pure :: a -> Freer s sq f t a
- pattern (:>>=) :: t x -> Fun s sq f t x a -> Freer s sq f t a
- pattern (:=<<) :: Fun s sq f t x a -> t x -> Freer s sq f t a
- (>>>=) :: (Sequence sq, Funable f) => t a -> (a -> Freer s sq f t b) -> Freer s sq f t b
- (=<<<) :: (Sequence sq, Funable f) => (a -> Freer s sq f t b) -> t a -> Freer s sq f t b
- app :: (Sequence sq, Funable f) => Fun s sq f t a b -> a -> Freer s sq f t b
- appPar :: (Sequence sq, Funable f, Taggable f) => Fun s sq f t a b -> Fun s sq f t a b -> a -> (Freer s sq f t b, Freer s sq f t b)
- data Tagged s a
- runTagged :: (forall s. Tagged s a) -> a
- tag :: (Sequence sq, Funable f, Taggable f) => Freer s sq f t a -> Tagged s (Freer s sq f t a)
Freer
Type
data Freer s sq (f :: (* -> *) -> * -> * -> *) t a Source #
Instances
(Sequence sq, Funable f) => Applicative (Freer s sq f t) Source # | |
Defined in Control.Monad.Freer.Par pure :: a -> Freer s sq f t a # (<*>) :: Freer s sq f t (a -> b) -> Freer s sq f t a -> Freer s sq f t b # liftA2 :: (a -> b -> c) -> Freer s sq f t a -> Freer s sq f t b -> Freer s sq f t c # (*>) :: Freer s sq f t a -> Freer s sq f t b -> Freer s sq f t b # (<*) :: Freer s sq f t a -> Freer s sq f t b -> Freer s sq f t a # | |
(Sequence sq, Funable f) => Functor (Freer s sq f t) Source # | |
(Sequence sq, Funable f) => Monad (Freer s sq f t) Source # | |
Pattern
Bind
(>>>=) :: (Sequence sq, Funable f) => t a -> (a -> Freer s sq f t b) -> Freer s sq f t b infixl 7 Source #
(=<<<) :: (Sequence sq, Funable f) => (a -> Freer s sq f t b) -> t a -> Freer s sq f t b infixr 7 Source #
Apply
appPar :: (Sequence sq, Funable f, Taggable f) => Fun s sq f t a b -> Fun s sq f t a b -> a -> (Freer s sq f t b, Freer s sq f t b) Source #