recursion-schemes-ix-0.1.0.0: Recursion schemes over indexed Functors
Safe HaskellNone
LanguageHaskell2010

Data.IFunctor

Contents

Synopsis

Documentation

class IFunctor f where Source #

Functor in the category of dependent types

Methods

imap :: (a ~~> b) -> f a ~~> f b Source #

Instances

Instances details
IFunctor (IIdentity :: (k -> Type) -> k -> Type) Source # 
Instance details

Defined in Data.IFunctor.IIdentity

Methods

imap :: forall (a :: k0 -> Type) (b :: k0 -> Type). (a ~~> b) -> IIdentity a ~~> IIdentity b Source #

IFunctor (Product a :: (k -> Type) -> k -> Type) Source # 
Instance details

Defined in Data.IFunctor

Methods

imap :: forall (a0 :: k0 -> Type) (b :: k0 -> Type). (a0 ~~> b) -> Product a a0 ~~> Product a b Source #

IFunctor (Sum a :: (k -> Type) -> k -> Type) Source # 
Instance details

Defined in Data.IFunctor

Methods

imap :: forall (a0 :: k0 -> Type) (b :: k0 -> Type). (a0 ~~> b) -> Sum a a0 ~~> Sum a b Source #

IFunctor f => IFunctor (IFree f :: (k -> Type) -> k -> Type) Source # 
Instance details

Defined in Data.IFunctor.IFree

Methods

imap :: forall (a :: k0 -> Type) (b :: k0 -> Type). (a ~~> b) -> IFree f a ~~> IFree f b Source #

IFunctor f => IFunctor (ICofree f :: (k -> Type) -> k -> Type) Source # 
Instance details

Defined in Data.IFunctor.ICofree

Methods

imap :: forall (a :: k0 -> Type) (b :: k0 -> Type). (a ~~> b) -> ICofree f a ~~> ICofree f b Source #

Re-exports

type (~~>) a b = forall ix. SingI ix => a ix -> b ix infixr 4 Source #

Indexed function type