Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- class Network n where
- startNetwork :: InitialPipes inS inT => Circuit inS inT outS outT nin -> IO (n inS inT outS outT)
- stopNetwork :: n inS inT outS outT -> IO ()
- read :: n inputsS inputsT outputsS outputsT -> IO (JobUUID, Either TaskError (HList' outputsS outputsT))
- write :: JobUUID -> HList' inputsS inputsT -> n inputsS inputsT outputsS outputsT -> IO ()
- class InitialPipes (inputsS :: [Type -> Type]) (inputsT :: [Type]) where
- initialPipes :: IO (PipeList inputsS inputsT)
- newtype N n asS asT a b c d e = N {}
- class (IFunctor5 iF, Network n) => BuildNetworkAlg n iF where
- buildNetworkAlg :: iF (N n asS asT) bsS bsT csS csT nbs -> IO (N n asS asT bsS bsT csS csT nbs)
Documentation
Network typeclass
:: InitialPipes inS inT | |
=> Circuit inS inT outS outT nin | The |
-> IO (n inS inT outS outT) | The created network |
Starts a network with the given Circuit
as specification.
stopNetwork :: n inS inT outS outT -> IO () #
Stops the given network
:: n inputsS inputsT outputsS outputsT | The network to retrieve inputs from |
-> IO (JobUUID, Either TaskError (HList' outputsS outputsT)) | The identifier for the output and the output values | Write a set of inputs into the network |
This will read from the outputs of the network.
This is a blocking call, therefore if there are no outputs to be read then the program will deadlock.
Instances
Network BasicNetwork # | |
Defined in Pipeline.Internal.Backend.BasicNetwork 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 () # |
class InitialPipes (inputsS :: [Type -> Type]) (inputsT :: [Type]) where #
Used to build a list of pipes from a list of types.
initialPipes :: IO (PipeList inputsS inputsT) #
Instances
InitialPipes ('[] :: [Type -> Type]) ('[] :: [Type]) # | |
Defined in Pipeline.Internal.Backend.Network initialPipes :: IO (PipeList '[] '[]) # | |
(InitialPipes fs as, Eq (f a)) => InitialPipes (f ': fs) (a ': as) # | |
Defined in Pipeline.Internal.Backend.Network initialPipes :: IO (PipeList (f ': fs) (a ': as)) # |
class (IFunctor5 iF, Network n) => BuildNetworkAlg n iF where #
The accumulating fold to build the network.
buildNetworkAlg :: iF (N n asS asT) bsS bsT csS csT nbs -> IO (N n asS asT bsS bsT csS csT nbs) #
Instances
BuildNetworkAlg BasicNetwork Map # | |
Defined in Pipeline.Internal.Backend.BasicNetwork | |
BuildNetworkAlg BasicNetwork Task # | |
Defined in Pipeline.Internal.Backend.BasicNetwork | |
BuildNetworkAlg BasicNetwork DropR # | |
Defined in Pipeline.Internal.Backend.BasicNetwork | |
BuildNetworkAlg BasicNetwork DropL # | |
Defined in Pipeline.Internal.Backend.BasicNetwork | |
BuildNetworkAlg BasicNetwork Swap # | |
Defined in Pipeline.Internal.Backend.BasicNetwork | |
BuildNetworkAlg BasicNetwork Beside # | |
Defined in Pipeline.Internal.Backend.BasicNetwork | |
BuildNetworkAlg BasicNetwork Then # | |
Defined in Pipeline.Internal.Backend.BasicNetwork | |
BuildNetworkAlg BasicNetwork Replicate # | |
Defined in Pipeline.Internal.Backend.BasicNetwork | |
BuildNetworkAlg BasicNetwork Id # | |
Defined in Pipeline.Internal.Backend.BasicNetwork | |
(BuildNetworkAlg n iF, BuildNetworkAlg n iG) => BuildNetworkAlg n (iF :+: iG :: ([Type -> Type] -> [Type] -> [Type -> Type] -> [Type] -> k -> Type) -> [Type -> Type] -> [Type] -> [Type -> Type] -> [Type] -> k -> Type) # | |