circuitflow-0.3.0.1
Safe HaskellNone
LanguageHaskell2010

Pipeline.Internal.Backend.BasicNetwork

Synopsis

Documentation

data BasicNetwork (inputsStorageType :: [Type -> Type]) (inputsType :: [Type]) (outputsStorageType :: [Type -> Type]) (outputsType :: [Type]) where #

Main type for storing information about the process network.

The type arguments align with the Circuit data type.

Constructors

BasicNetwork 

Fields

Instances

Instances details
Network BasicNetwork # 
Instance details

Defined in Pipeline.Internal.Backend.BasicNetwork

Methods

startNetwork :: forall (inS :: [Type -> Type]) (inT :: [Type]) (outS :: [Type -> Type]) (outT :: [Type]) (nin :: Nat). InitialPipes inS inT => Circuit inS inT outS outT nin -> IO (BasicNetwork inS inT outS outT) #

stopNetwork :: forall (inS :: [Type -> Type]) (inT :: [Type]) (outS :: [Type -> Type]) (outT :: [Type]). BasicNetwork inS inT outS outT -> IO () #

read :: forall (inputsS :: [Type -> Type]) (inputsT :: [Type]) (outputsS :: [Type -> Type]) (outputsT :: [Type]). BasicNetwork inputsS inputsT outputsS outputsT -> IO (JobUUID, Either TaskError (HList' outputsS outputsT)) #

write :: forall (inputsS :: [Type -> Type]) (inputsT :: [Type]) (outputsS :: [Type -> Type]) (outputsT :: [Type]). JobUUID -> HList' inputsS inputsT -> BasicNetwork inputsS inputsT outputsS outputsT -> IO () #

BuildNetworkAlg BasicNetwork Map # 
Instance details

Defined in Pipeline.Internal.Backend.BasicNetwork

Methods

buildNetworkAlg :: forall (asS :: [Type -> Type]) (asT :: [Type]) (bsS :: [Type -> Type]) (bsT :: [Type]) (csS :: [Type -> Type]) (csT :: [Type]) (nbs :: k). Map (N BasicNetwork asS asT) bsS bsT csS csT nbs -> IO (N BasicNetwork asS asT bsS bsT csS csT nbs) #

BuildNetworkAlg BasicNetwork Task # 
Instance details

Defined in Pipeline.Internal.Backend.BasicNetwork

Methods

buildNetworkAlg :: forall (asS :: [Type -> Type]) (asT :: [Type]) (bsS :: [Type -> Type]) (bsT :: [Type]) (csS :: [Type -> Type]) (csT :: [Type]) (nbs :: k). Task (N BasicNetwork asS asT) bsS bsT csS csT nbs -> IO (N BasicNetwork asS asT bsS bsT csS csT nbs) #

BuildNetworkAlg BasicNetwork DropR # 
Instance details

Defined in Pipeline.Internal.Backend.BasicNetwork

Methods

buildNetworkAlg :: forall (asS :: [Type -> Type]) (asT :: [Type]) (bsS :: [Type -> Type]) (bsT :: [Type]) (csS :: [Type -> Type]) (csT :: [Type]) (nbs :: k). DropR (N BasicNetwork asS asT) bsS bsT csS csT nbs -> IO (N BasicNetwork asS asT bsS bsT csS csT nbs) #

BuildNetworkAlg BasicNetwork DropL # 
Instance details

Defined in Pipeline.Internal.Backend.BasicNetwork

Methods

buildNetworkAlg :: forall (asS :: [Type -> Type]) (asT :: [Type]) (bsS :: [Type -> Type]) (bsT :: [Type]) (csS :: [Type -> Type]) (csT :: [Type]) (nbs :: k). DropL (N BasicNetwork asS asT) bsS bsT csS csT nbs -> IO (N BasicNetwork asS asT bsS bsT csS csT nbs) #

BuildNetworkAlg BasicNetwork Swap # 
Instance details

Defined in Pipeline.Internal.Backend.BasicNetwork

Methods

buildNetworkAlg :: forall (asS :: [Type -> Type]) (asT :: [Type]) (bsS :: [Type -> Type]) (bsT :: [Type]) (csS :: [Type -> Type]) (csT :: [Type]) (nbs :: k). Swap (N BasicNetwork asS asT) bsS bsT csS csT nbs -> IO (N BasicNetwork asS asT bsS bsT csS csT nbs) #

BuildNetworkAlg BasicNetwork Beside # 
Instance details

Defined in Pipeline.Internal.Backend.BasicNetwork

Methods

buildNetworkAlg :: forall (asS :: [Type -> Type]) (asT :: [Type]) (bsS :: [Type -> Type]) (bsT :: [Type]) (csS :: [Type -> Type]) (csT :: [Type]) (nbs :: k). Beside (N BasicNetwork asS asT) bsS bsT csS csT nbs -> IO (N BasicNetwork asS asT bsS bsT csS csT nbs) #

BuildNetworkAlg BasicNetwork Then # 
Instance details

Defined in Pipeline.Internal.Backend.BasicNetwork

Methods

buildNetworkAlg :: forall (asS :: [Type -> Type]) (asT :: [Type]) (bsS :: [Type -> Type]) (bsT :: [Type]) (csS :: [Type -> Type]) (csT :: [Type]) (nbs :: k). Then (N BasicNetwork asS asT) bsS bsT csS csT nbs -> IO (N BasicNetwork asS asT bsS bsT csS csT nbs) #

BuildNetworkAlg BasicNetwork Replicate # 
Instance details

Defined in Pipeline.Internal.Backend.BasicNetwork

Methods

buildNetworkAlg :: forall (asS :: [Type -> Type]) (asT :: [Type]) (bsS :: [Type -> Type]) (bsT :: [Type]) (csS :: [Type -> Type]) (csT :: [Type]) (nbs :: k). Replicate (N BasicNetwork asS asT) bsS bsT csS csT nbs -> IO (N BasicNetwork asS asT bsS bsT csS csT nbs) #

BuildNetworkAlg BasicNetwork Id # 
Instance details

Defined in Pipeline.Internal.Backend.BasicNetwork

Methods

buildNetworkAlg :: forall (asS :: [Type -> Type]) (asT :: [Type]) (bsS :: [Type -> Type]) (bsT :: [Type]) (csS :: [Type -> Type]) (csT :: [Type]) (nbs :: k). Id (N BasicNetwork asS asT) bsS bsT csS csT nbs -> IO (N BasicNetwork asS asT bsS bsT csS csT nbs) #

data JobStatus #

Constructors

Processing 
Complete 

taskExecuter :: Task iF inputsS inputsT outputS outputT ninputs -> TaskUUID -> PipeList inputsS inputsT -> PipeList outputS outputT -> IO () #

writePipes :: JobUUID -> Either TaskError (HList' inputsS inputsT) -> PipeList inputsS inputsT -> IO () #

readPipes :: PipeList outputsS outputsT -> IO (JobUUID, Either TaskError (HList' outputsS outputsT)) #

initialNetwork :: forall inputsS inputsT. InitialPipes inputsS inputsT => IO (BasicNetwork inputsS inputsT inputsS inputsT) #

Creates the initial network used in the accumulating fold

circuitInputs :: (Length bsS ~ Length bsT, ninputs ~ Length bsS, IsNat ninputs, Network n) => N n asS asT bsS bsT csS csT (ninputs :: Nat) -> SNat (Length bsS) #

buildBasicNetwork :: InitialPipes a b => Circuit a b c d e -> IO (BasicNetwork a b c d) #

beside :: forall asS asT bsS bsT csS csT (nbs :: Nat). Beside (N BasicNetwork asS asT) bsS bsT csS csT nbs -> IO (N BasicNetwork asS asT bsS bsT csS csT nbs) #