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

Data.IFunctor.Classes

Synopsis

Indexed Show

class IShow f where Source #

Minimal complete definition

ishowsPrec | ishow

Methods

ishowsPrec :: SingI ix => (forall ix. SingI ix => Int -> a ix -> ShowS) -> Int -> f a ix -> ShowS Source #

ishow :: SingI ix => (forall ix. SingI ix => Int -> a ix -> ShowS) -> f a ix -> String Source #

Instances

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

Defined in Data.IFunctor.IIdentity

Methods

ishowsPrec :: forall (ix :: k0) a. SingI ix => (forall (ix :: k1). SingI ix => Int -> a ix -> ShowS) -> Int -> IIdentity a ix -> ShowS Source #

ishow :: forall (ix :: k0) a. SingI ix => (forall (ix :: k1). SingI ix => Int -> a ix -> ShowS) -> IIdentity a ix -> String Source #

IShow2 a => IShow (Product a :: (k -> Type) -> k -> Type) Source # 
Instance details

Defined in Data.IFunctor.Classes

Methods

ishowsPrec :: forall (ix :: k0) a0. SingI ix => (forall (ix :: k1). SingI ix => Int -> a0 ix -> ShowS) -> Int -> Product a a0 ix -> ShowS Source #

ishow :: forall (ix :: k0) a0. SingI ix => (forall (ix :: k1). SingI ix => Int -> a0 ix -> ShowS) -> Product a a0 ix -> String Source #

IShow2 a => IShow (Sum a :: (k -> Type) -> k -> Type) Source # 
Instance details

Defined in Data.IFunctor.Classes

Methods

ishowsPrec :: forall (ix :: k0) a0. SingI ix => (forall (ix :: k1). SingI ix => Int -> a0 ix -> ShowS) -> Int -> Sum a a0 ix -> ShowS Source #

ishow :: forall (ix :: k0) a0. SingI ix => (forall (ix :: k1). SingI ix => Int -> a0 ix -> ShowS) -> Sum a a0 ix -> String Source #

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

Defined in Data.IFunctor.IFree

Methods

ishowsPrec :: forall (ix :: k0) a. SingI ix => (forall (ix :: k1). SingI ix => Int -> a ix -> ShowS) -> Int -> IFree f a ix -> ShowS Source #

ishow :: forall (ix :: k0) a. SingI ix => (forall (ix :: k1). SingI ix => Int -> a ix -> ShowS) -> IFree f a ix -> String Source #

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

Defined in Data.IFunctor.ICofree

Methods

ishowsPrec :: forall (ix :: k0) a. SingI ix => (forall (ix :: k1). SingI ix => Int -> a ix -> ShowS) -> Int -> ICofree f a ix -> ShowS Source #

ishow :: forall (ix :: k0) a. SingI ix => (forall (ix :: k1). SingI ix => Int -> a ix -> ShowS) -> ICofree f a ix -> String Source #

class IShow2 a where Source #

Minimal complete definition

ishowsPrec2 | ishow2

Methods

ishowsPrec2 :: SingI ix => Int -> a ix -> ShowS Source #

ishow2 :: SingI ix => a ix -> String Source #

ishowsPrec1 :: (IShow f, IShow2 a, SingI ix) => Int -> f a ix -> ShowS Source #

ishow1 :: (IShow f, IShow2 a, SingI ix) => f a ix -> String Source #

Indexed Read

class IRead f where Source #

Minimal complete definition

ireadPrec | ireadsPrec

Methods

ireadPrec :: SingI ix => (forall ix. SingI ix => ReadPrec (a ix)) -> ReadPrec (f a ix) Source #

ireadsPrec :: SingI ix => (forall ix. SingI ix => Int -> ReadS (a ix)) -> Int -> ReadS (f a ix) Source #

Instances

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

Defined in Data.IFunctor.IIdentity

Methods

ireadPrec :: forall (ix :: k0) a. SingI ix => (forall (ix :: k1). SingI ix => ReadPrec (a ix)) -> ReadPrec (IIdentity a ix) Source #

ireadsPrec :: forall (ix :: k0) a. SingI ix => (forall (ix :: k1). SingI ix => Int -> ReadS (a ix)) -> Int -> ReadS (IIdentity a ix) Source #

IRead2 a => IRead (Product a :: (k -> Type) -> k -> Type) Source # 
Instance details

Defined in Data.IFunctor.Classes

Methods

ireadPrec :: forall (ix :: k0) a0. SingI ix => (forall (ix :: k1). SingI ix => ReadPrec (a0 ix)) -> ReadPrec (Product a a0 ix) Source #

ireadsPrec :: forall (ix :: k0) a0. SingI ix => (forall (ix :: k1). SingI ix => Int -> ReadS (a0 ix)) -> Int -> ReadS (Product a a0 ix) Source #

IRead2 a => IRead (Sum a :: (k -> Type) -> k -> Type) Source # 
Instance details

Defined in Data.IFunctor.Classes

Methods

ireadPrec :: forall (ix :: k0) a0. SingI ix => (forall (ix :: k1). SingI ix => ReadPrec (a0 ix)) -> ReadPrec (Sum a a0 ix) Source #

ireadsPrec :: forall (ix :: k0) a0. SingI ix => (forall (ix :: k1). SingI ix => Int -> ReadS (a0 ix)) -> Int -> ReadS (Sum a a0 ix) Source #

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

Defined in Data.IFunctor.IFree

Methods

ireadPrec :: forall (ix :: k0) a. SingI ix => (forall (ix :: k1). SingI ix => ReadPrec (a ix)) -> ReadPrec (IFree f a ix) Source #

ireadsPrec :: forall (ix :: k0) a. SingI ix => (forall (ix :: k1). SingI ix => Int -> ReadS (a ix)) -> Int -> ReadS (IFree f a ix) Source #

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

Defined in Data.IFunctor.ICofree

Methods

ireadPrec :: forall (ix :: k0) a. SingI ix => (forall (ix :: k1). SingI ix => ReadPrec (a ix)) -> ReadPrec (ICofree f a ix) Source #

ireadsPrec :: forall (ix :: k0) a. SingI ix => (forall (ix :: k1). SingI ix => Int -> ReadS (a ix)) -> Int -> ReadS (ICofree f a ix) Source #

class IRead2 a where Source #

Minimal complete definition

ireadPrec2 | ireadsPrec2

Methods

ireadPrec2 :: SingI ix => ReadPrec (a ix) Source #

ireadsPrec2 :: SingI ix => Int -> ReadS (a ix) Source #

ireadPrec1 :: (IRead f, IRead2 a, SingI ix) => ReadPrec (f a ix) Source #

ireadsPrec1 :: (IRead f, IRead2 a, SingI ix) => Int -> ReadS (f a ix) Source #

Indexed Eq

class IEq f where Source #

Methods

ieq :: SingI ix => (forall ix. SingI ix => a ix -> a ix -> Bool) -> f a ix -> f a ix -> Bool Source #

Instances

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

Defined in Data.IFunctor.IIdentity

Methods

ieq :: forall (ix :: k0) a. SingI ix => (forall (ix :: k1). SingI ix => a ix -> a ix -> Bool) -> IIdentity a ix -> IIdentity a ix -> Bool Source #

IEq2 a => IEq (Product a :: (k -> Type) -> k -> Type) Source # 
Instance details

Defined in Data.IFunctor.Classes

Methods

ieq :: forall (ix :: k0) a0. SingI ix => (forall (ix :: k1). SingI ix => a0 ix -> a0 ix -> Bool) -> Product a a0 ix -> Product a a0 ix -> Bool Source #

IEq2 a => IEq (Sum a :: (k -> Type) -> k -> Type) Source # 
Instance details

Defined in Data.IFunctor.Classes

Methods

ieq :: forall (ix :: k0) a0. SingI ix => (forall (ix :: k1). SingI ix => a0 ix -> a0 ix -> Bool) -> Sum a a0 ix -> Sum a a0 ix -> Bool Source #

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

Defined in Data.IFunctor.IFree

Methods

ieq :: forall (ix :: k0) a. SingI ix => (forall (ix :: k1). SingI ix => a ix -> a ix -> Bool) -> IFree f a ix -> IFree f a ix -> Bool Source #

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

Defined in Data.IFunctor.ICofree

Methods

ieq :: forall (ix :: k0) a. SingI ix => (forall (ix :: k1). SingI ix => a ix -> a ix -> Bool) -> ICofree f a ix -> ICofree f a ix -> Bool Source #

class IEq2 a where Source #

Methods

ieq2 :: SingI ix => a ix -> a ix -> Bool Source #

ieq1 :: (IEq f, IEq2 a, SingI ix) => f a ix -> f a ix -> Bool Source #

Indexed Ord

class IEq f => IOrd f where Source #

Methods

icompare :: SingI ix => (forall ix. SingI ix => a ix -> a ix -> Ordering) -> f a ix -> f a ix -> Ordering Source #

Instances

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

Defined in Data.IFunctor.IIdentity

Methods

icompare :: forall (ix :: k0) a. SingI ix => (forall (ix :: k1). SingI ix => a ix -> a ix -> Ordering) -> IIdentity a ix -> IIdentity a ix -> Ordering Source #

IOrd2 a => IOrd (Product a :: (k -> Type) -> k -> Type) Source # 
Instance details

Defined in Data.IFunctor.Classes

Methods

icompare :: forall (ix :: k0) a0. SingI ix => (forall (ix :: k1). SingI ix => a0 ix -> a0 ix -> Ordering) -> Product a a0 ix -> Product a a0 ix -> Ordering Source #

IOrd2 a => IOrd (Sum a :: (k -> Type) -> k -> Type) Source # 
Instance details

Defined in Data.IFunctor.Classes

Methods

icompare :: forall (ix :: k0) a0. SingI ix => (forall (ix :: k1). SingI ix => a0 ix -> a0 ix -> Ordering) -> Sum a a0 ix -> Sum a a0 ix -> Ordering Source #

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

Defined in Data.IFunctor.IFree

Methods

icompare :: forall (ix :: k0) a. SingI ix => (forall (ix :: k1). SingI ix => a ix -> a ix -> Ordering) -> IFree f a ix -> IFree f a ix -> Ordering Source #

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

Defined in Data.IFunctor.ICofree

Methods

icompare :: forall (ix :: k0) a. SingI ix => (forall (ix :: k1). SingI ix => a ix -> a ix -> Ordering) -> ICofree f a ix -> ICofree f a ix -> Ordering Source #

class IEq2 a => IOrd2 a where Source #

Methods

icompare2 :: SingI ix => a ix -> a ix -> Ordering Source #

icompare1 :: (IOrd f, IOrd2 a, SingI ix) => f a ix -> f a ix -> Ordering Source #