circuitflow-0.3.0.1
Safe HaskellSafe-Inferred
LanguageHaskell2010

Pipeline.Internal.Common.IFunctor.Modular

Documentation

data (iF :+: iG) (f' :: i -> j -> i -> j -> k -> Type) (a :: i) (b :: j) (c :: i) (d :: j) (e :: k) where infixr 9 #

Constructors

L :: iF f' a b c d e -> (iF :+: iG) f' a b c d e 
R :: iG f' a b c d e -> (iF :+: iG) f' a b c d e 

Instances

Instances details
(IFunctor5 iF, IFunctor5 iG, IFunctor5 iH, iF :<: iG) => (iF :: (i -> j -> i -> j -> k -> Type) -> i -> j -> i -> j -> k -> Type) :<: (iH :+: iG :: (i -> j -> i -> j -> k -> Type) -> i -> j -> i -> j -> k -> Type) # 
Instance details

Defined in Pipeline.Internal.Common.IFunctor.Modular

Methods

inj :: forall (f' :: k0 -> k1 -> k2 -> k3 -> k4 -> Type) (a :: k5) (b :: k6) (c :: k7) (d :: k8) (e :: k9). iF f' a b c d e -> (iH :+: iG) f' a b c d e #

(IFunctor5 iF, IFunctor5 iG) => (iF :: (i -> j -> i -> j -> k -> Type) -> i -> j -> i -> j -> k -> Type) :<: (iF :+: iG :: (i -> j -> i -> j -> k -> Type) -> i -> j -> i -> j -> k -> Type) # 
Instance details

Defined in Pipeline.Internal.Common.IFunctor.Modular

Methods

inj :: forall (f' :: k0 -> k1 -> k2 -> k3 -> k4 -> Type) (a :: k5) (b :: k6) (c :: k7) (d :: k8) (e :: k9). iF f' a b c d e -> (iF :+: iG) f' a b c d e #

(IFunctor5 iF, IFunctor5 iG) => IFunctor5 (iF :+: iG :: (k1 -> k2 -> k1 -> k2 -> k3 -> Type) -> k1 -> k2 -> k1 -> k2 -> k3 -> Type) # 
Instance details

Defined in Pipeline.Internal.Common.IFunctor.Modular

Methods

imap5 :: forall f' g' (a :: k) (b :: k) (c :: k) (d :: k) (e :: k). (forall (a :: k) (b :: k) (c :: k) (d :: k) (e :: k). f' a b c d e -> g' a b c d e) -> (iF :+: iG) f' a b c d e -> (iF :+: iG) g' a b c d e #

imapM5 :: forall m f' g' (a :: k) (b :: k) (c :: k) (d :: k) (e :: k). Monad m => (forall (a :: k) (b :: k) (c :: k) (d :: k) (e :: k). f' a b c d e -> m (g' a b c d e)) -> (iF :+: iG) f' a b c d e -> m ((iF :+: iG) g' a b c d e) #

(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) # 
Instance details

Defined in Pipeline.Internal.Backend.Network

Methods

buildNetworkAlg :: forall (asS :: [Type -> Type]) (asT :: [Type]) (bsS :: [Type -> Type]) (bsT :: [Type]) (csS :: [Type -> Type]) (csT :: [Type]) (nbs :: k0). (iF :+: iG) (N n asS asT) bsS bsT csS csT nbs -> IO (N n asS asT bsS bsT csS csT nbs) #

class (IFunctor5 iF, IFunctor5 iG) => iF :<: iG where #

Methods

inj :: iF f' a b c d e -> iG f' a b c d e #

Instances

Instances details
IFunctor5 iF => (iF :: (k1 -> k2 -> k3 -> k4 -> k5 -> Type) -> k6 -> k7 -> k8 -> k9 -> k10 -> Type) :<: (iF :: (k1 -> k2 -> k3 -> k4 -> k5 -> Type) -> k6 -> k7 -> k8 -> k9 -> k10 -> Type) # 
Instance details

Defined in Pipeline.Internal.Common.IFunctor.Modular

Methods

inj :: forall (f' :: k -> k -> k -> k -> k -> Type) (a :: k) (b :: k) (c :: k) (d :: k) (e :: k). iF f' a b c d e -> iF f' a b c d e #

(IFunctor5 iF, IFunctor5 iG, IFunctor5 iH, iF :<: iG) => (iF :: (i -> j -> i -> j -> k -> Type) -> i -> j -> i -> j -> k -> Type) :<: (iH :+: iG :: (i -> j -> i -> j -> k -> Type) -> i -> j -> i -> j -> k -> Type) # 
Instance details

Defined in Pipeline.Internal.Common.IFunctor.Modular

Methods

inj :: forall (f' :: k0 -> k1 -> k2 -> k3 -> k4 -> Type) (a :: k5) (b :: k6) (c :: k7) (d :: k8) (e :: k9). iF f' a b c d e -> (iH :+: iG) f' a b c d e #

(IFunctor5 iF, IFunctor5 iG) => (iF :: (i -> j -> i -> j -> k -> Type) -> i -> j -> i -> j -> k -> Type) :<: (iF :+: iG :: (i -> j -> i -> j -> k -> Type) -> i -> j -> i -> j -> k -> Type) # 
Instance details

Defined in Pipeline.Internal.Common.IFunctor.Modular

Methods

inj :: forall (f' :: k0 -> k1 -> k2 -> k3 -> k4 -> Type) (a :: k5) (b :: k6) (c :: k7) (d :: k8) (e :: k9). iF f' a b c d e -> (iF :+: iG) f' a b c d e #