circuitflow-0.3.0.1
Safe HaskellSafe-Inferred
LanguageHaskell2010

Pipeline.Internal.Common.IFunctor

Documentation

class IFunctor iF where #

Methods

imap :: (forall a. f a -> g a) -> iF f a -> iF g a #

imapM :: Monad m => (forall a. f a -> m (g a)) -> iF f a -> m (iF g a) #

class IFunctor2 iF where #

Methods

imap2 :: (forall a b. f a b -> g a b) -> iF f a b -> iF g a b #

class IFunctor4 iF where #

Methods

imap4 :: (forall a b c d. f a b c d -> g a b c d) -> iF f a b c d -> iF g a b c d #

class IFunctor5 iF where #

Methods

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

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

Instances

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

IFunctor5 Map # 
Instance details

Defined in Pipeline.Internal.Core.CircuitAST

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) -> Map f' a b c d e -> Map 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)) -> Map f' a b c d e -> m (Map g' a b c d e) #

IFunctor5 Task # 
Instance details

Defined in Pipeline.Internal.Core.CircuitAST

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) -> Task f' a b c d e -> Task 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)) -> Task f' a b c d e -> m (Task g' a b c d e) #

IFunctor5 DropR # 
Instance details

Defined in Pipeline.Internal.Core.CircuitAST

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) -> DropR f' a b c d e -> DropR 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)) -> DropR f' a b c d e -> m (DropR g' a b c d e) #

IFunctor5 DropL # 
Instance details

Defined in Pipeline.Internal.Core.CircuitAST

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) -> DropL f' a b c d e -> DropL 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)) -> DropL f' a b c d e -> m (DropL g' a b c d e) #

IFunctor5 Swap # 
Instance details

Defined in Pipeline.Internal.Core.CircuitAST

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) -> Swap f' a b c d e -> Swap 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)) -> Swap f' a b c d e -> m (Swap g' a b c d e) #

IFunctor5 Beside # 
Instance details

Defined in Pipeline.Internal.Core.CircuitAST

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) -> Beside f' a b c d e -> Beside 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)) -> Beside f' a b c d e -> m (Beside g' a b c d e) #

IFunctor5 Then # 
Instance details

Defined in Pipeline.Internal.Core.CircuitAST

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) -> Then f' a b c d e -> Then 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)) -> Then f' a b c d e -> m (Then g' a b c d e) #

IFunctor5 Replicate # 
Instance details

Defined in Pipeline.Internal.Core.CircuitAST

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) -> Replicate f' a b c d e -> Replicate 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)) -> Replicate f' a b c d e -> m (Replicate g' a b c d e) #

IFunctor5 Id # 
Instance details

Defined in Pipeline.Internal.Core.CircuitAST

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) -> Id f' a b c d e -> Id 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)) -> Id f' a b c d e -> m (Id g' a b c d e) #

class IFunctor6 iF where #

Methods

imap6 :: (forall a b c d e f. f' a b c d e f -> g' a b c d e f) -> iF f' a b c d e f -> iF g' a b c d e f #

class IFunctor7 iF where #

Methods

imap7 :: (forall a b c d e f g. f' a b c d e f g -> g' a b c d e f g) -> iF f' a b c d e f g -> iF g' a b c d e f g #

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

newtype Fix f #

Constructors

In (f (Fix f)) 

newtype IFix iF a #

Constructors

IIn (iF (IFix iF) a) 

newtype IFix2 iF a b #

Constructors

IIn2 (iF (IFix2 iF) a b) 

newtype IFix3 iF a b c #

Constructors

IIn3 (iF (IFix3 iF) a b c) 

newtype IFix4 iF a b c d #

Constructors

IIn4 (iF (IFix4 iF) a b c d) 

newtype IFix5 iF a b c d e #

Constructors

IIn5 (iF (IFix5 iF) a b c d e) 

newtype IFix6 iF a b c d e f #

Constructors

IIn6 (iF (IFix6 iF) a b c d e f) 

newtype IFix7 iF a b c d e f g #

Constructors

IIn7 (iF (IFix7 iF) a b c d e f g) 

icata :: IFunctor iF => (forall a. iF f a -> f a) -> IFix iF a -> f a #

icata2 :: IFunctor2 iF => (forall a b. iF f a b -> f a b) -> IFix2 iF a b -> f a b #

icata4 :: IFunctor4 iF => (forall a b c d. iF f a b c d -> f a b c d) -> IFix4 iF a b c d -> f a b c d #

icataM5 :: (IFunctor5 iF, Monad m) => (forall a b c d e. iF f' a b c d e -> m (f' a b c d e)) -> IFix5 iF a b c d e -> m (f' a b c d e) #

icata7 :: IFunctor7 iF => (forall a b c d e f g. iF f' a b c d e f g -> f' a b c d e f g) -> IFix7 iF a b c d e f g -> f' a b c d e f g #

icataM7 :: (IFunctor7 iF, Monad m) => (forall a b c d e f g. iF f' a b c d e f g -> m (f' a b c d e f g)) -> IFix7 iF a b c d e f g -> m (f' a b c d e f g) #

icataM :: (IFunctor iF, Monad m) => (forall a. iF f a -> m (f a)) -> IFix iF a -> m (f a) #

cataM :: (Traversable f, Monad m) => (forall a. f a -> m a) -> Fix f -> m a #