| Safe Haskell | Safe-Inferred |
|---|---|
| Language | GHC2021 |
SupplyChain.Core.Job
Contents
Description
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
Bundled Patterns
| 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 Methods 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