kind-generics-deriving-0.3.0.0: Generic programming in GHC style for arbitrary kinds and GADTs.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Generics.Kind.Derive.FunctorOne

Documentation

fmapDefaultOne :: (GenericK f, GenericK f, GFunctorOne (RepK f), Reqs (RepK f) a b) => (a -> b) -> f a -> f b Source #

class GFunctorOne (f :: LoT (Type -> Type) -> Type) where Source #

Associated Types

type Reqs f a b :: Constraint Source #

Methods

gfmapo :: Reqs f a b => (a -> b) -> f (LoT1 a) -> f (LoT1 b) Source #

Instances

Instances details
GFunctorOne (U1 :: LoT (Type -> Type) -> Type) Source # 
Instance details

Defined in Generics.Kind.Derive.FunctorOne

Associated Types

type Reqs U1 a b Source #

Methods

gfmapo :: Reqs U1 a b => (a -> b) -> U1 (LoT1 a) -> U1 (LoT1 b) Source #

GFunctorOneArg t => GFunctorOne (Field t) Source # 
Instance details

Defined in Generics.Kind.Derive.FunctorOne

Associated Types

type Reqs (Field t) a b Source #

Methods

gfmapo :: Reqs (Field t) a b => (a -> b) -> Field t (LoT1 a) -> Field t (LoT1 b) Source #

(GFunctorOne f, GFunctorOne g) => GFunctorOne (f :*: g) Source # 
Instance details

Defined in Generics.Kind.Derive.FunctorOne

Associated Types

type Reqs (f :*: g) a b Source #

Methods

gfmapo :: Reqs (f :*: g) a b => (a -> b) -> (f :*: g) (LoT1 a) -> (f :*: g) (LoT1 b) Source #

(GFunctorOne f, GFunctorOne g) => GFunctorOne (f :+: g) Source # 
Instance details

Defined in Generics.Kind.Derive.FunctorOne

Associated Types

type Reqs (f :+: g) a b Source #

Methods

gfmapo :: Reqs (f :+: g) a b => (a -> b) -> (f :+: g) (LoT1 a) -> (f :+: g) (LoT1 b) Source #

GFunctorOne f => GFunctorOne (c :=>: f) Source # 
Instance details

Defined in Generics.Kind.Derive.FunctorOne

Associated Types

type Reqs (c :=>: f) a b Source #

Methods

gfmapo :: Reqs (c :=>: f) a b => (a -> b) -> (c :=>: f) (LoT1 a) -> (c :=>: f) (LoT1 b) Source #

GFunctorOne f => GFunctorOne (M1 i c f) Source # 
Instance details

Defined in Generics.Kind.Derive.FunctorOne

Associated Types

type Reqs (M1 i c f) a b Source #

Methods

gfmapo :: Reqs (M1 i c f) a b => (a -> b) -> M1 i c f (LoT1 a) -> M1 i c f (LoT1 b) Source #

gfmapo' :: forall a b f. (GFunctorOne f, Reqs f a b) => (a -> b) -> f (LoT1 a) -> f (LoT1 b) Source #

class GFunctorOneArg (t :: Atom (Type -> Type) Type) where Source #

Methods

gfmapof :: Proxy t -> (a -> b) -> Interpret t (LoT1 a) -> Interpret t (LoT1 b) Source #

Instances

Instances details
GFunctorOneArg (Var0 :: Atom (Type -> Type) Type) Source # 
Instance details

Defined in Generics.Kind.Derive.FunctorOne

Methods

gfmapof :: Proxy Var0 -> (a -> b) -> Interpret Var0 (LoT1 a) -> Interpret Var0 (LoT1 b) Source #

EFunctor f => GFunctorOneArg ('Eval (('Kon f :: Atom (Type -> Type) (Type -> Exp Type)) ':@: (Var0 :: Atom (Type -> Type) Type))) Source # 
Instance details

Defined in Generics.Kind.Derive.FunctorOne

Methods

gfmapof :: Proxy ('Eval ('Kon f ':@: Var0)) -> (a -> b) -> Interpret ('Eval ('Kon f ':@: Var0)) (LoT1 a) -> Interpret ('Eval ('Kon f ':@: Var0)) (LoT1 b) Source #

GFunctorOneArg ('Kon t :: Atom (Type -> Type) Type) Source # 
Instance details

Defined in Generics.Kind.Derive.FunctorOne

Methods

gfmapof :: Proxy ('Kon t) -> (a -> b) -> Interpret ('Kon t) (LoT1 a) -> Interpret ('Kon t) (LoT1 b) Source #

(Functor f, GFunctorOneArg x) => GFunctorOneArg (f :$: x) Source # 
Instance details

Defined in Generics.Kind.Derive.FunctorOne

Methods

gfmapof :: Proxy (f :$: x) -> (a -> b) -> Interpret (f :$: x) (LoT1 a) -> Interpret (f :$: x) (LoT1 b) Source #

class EFunctor (f :: Type -> Exp Type) where Source #

Methods

emap :: (a -> b) -> Eval (f a) -> Eval (f b) Source #

Instances

Instances details
EFunctor (Pure :: Type -> Type -> Type) Source # 
Instance details

Defined in Generics.Kind.Derive.FunctorOne

Methods

emap :: (a -> b) -> Eval (Pure a) -> Eval (Pure b) Source #

Functor f => EFunctor (Pure1 f) Source # 
Instance details

Defined in Generics.Kind.Derive.FunctorOne

Methods

emap :: (a -> b) -> Eval (Pure1 f a) -> Eval (Pure1 f b) Source #

(EFunctor t, EFunctor u) => EFunctor (t <=< u) Source # 
Instance details

Defined in Generics.Kind.Derive.FunctorOne

Methods

emap :: (a -> b) -> Eval ((t <=< u) a) -> Eval ((t <=< u) b) Source #