Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Synopsis
- newtype Job up action product where
- FreeMonad (FreeMonad (Effect 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
- pattern Pure :: product -> Job up action product
- newtype Vendor up down action = Vendor {}
- alterJob :: (forall x. Effect up action x -> Job up' action' x) -> Job up action product -> Job up' action' product
- alterVendor :: (forall x. Effect up action x -> Job up' action' x) -> Vendor up down action -> Vendor up' down action'
- loop :: Job up action product -> Vendor up (Unit product) action
- once :: Vendor up (Unit product) action -> Job up action product
Types
newtype Job up action product Source #
Monadic context that supports making requests, performing actions, and returning a single result
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 | |
pattern Pure :: product -> Job up action product |
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 # | |
Alteration
alterJob :: (forall x. Effect up action x -> Job up' action' x) -> Job up action product -> Job up' action' product Source #
alterVendor :: (forall x. Effect up action x -> Job up' action' x) -> Vendor up down action -> Vendor up' down action' Source #