Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Synopsis
- newtype Job up action product where
- FreeMonad (FreeMonad (Effect up action) product)
- pattern Pure :: product -> Job up action product
- pattern Effect :: Effect up action x -> (x -> product) -> Job up action product
- pattern Request :: up x -> (x -> product) -> Job up action product
- pattern Perform :: action x -> (x -> product) -> Job up action product
- pattern Bind :: Job up action x -> (x -> Job up action a) -> Job up action a
- effect :: Effect up action product -> Job up action product
- perform :: action product -> Job up action product
- order :: up product -> Job up action product
- run :: Monad action => Job (Const Void) action product -> action product
- eval :: Job (Const Void) (Const Void) product -> product
- alter :: (forall x. Effect up action x -> Job up' action' x) -> Job up action product -> Job up' action' product
Type
newtype Job up action product Source #
Monadic context that supports making requests, performing actions, and returning a single result
pattern Pure :: product -> Job up action product | |
pattern Effect :: Effect up action x -> (x -> product) -> Job up action product | |
pattern Request :: up x -> (x -> product) -> Job up action product | |
pattern Perform :: action x -> (x -> product) -> Job up action product | |
pattern Bind :: Job up action x -> (x -> Job up action a) -> Job up action a |
Instances
Applicative (Job up action) Source # | |
Defined in SupplyChain.Core.Job pure :: a -> Job up action a # (<*>) :: Job up action (a -> b) -> Job up action a -> Job up action b # liftA2 :: (a -> b -> c) -> Job up action a -> Job up action b -> Job up action c # (*>) :: Job up action a -> Job up action b -> Job up action b # (<*) :: Job up action a -> Job up action b -> Job up action a # | |
Functor (Job up action) Source # | |
Monad (Job up action) Source # | |
Constructing
perform :: action product -> Job up action product Source #
Perform an action in a job's Action
context
order :: up product -> Job up action product Source #
Send a request via the job's upstream Interface
Running
run :: Monad action => Job (Const Void) action product -> action product Source #
Run a job in its Action
context