generic-deriving-1.12.1: Generic programming library for generalised deriving.

Safe HaskellSafe
LanguageHaskell2010

Generics.Deriving.Functor

Contents

Synopsis

Generic Functor class

class GFunctor f where Source #

Methods

gmap :: (a -> b) -> f a -> f b Source #

gmap :: (Generic1 f, GFunctor' (Rep1 f)) => (a -> b) -> f a -> f b Source #

Instances

GFunctor [] Source # 

Methods

gmap :: (a -> b) -> [a] -> [b] Source #

GFunctor Maybe Source # 

Methods

gmap :: (a -> b) -> Maybe a -> Maybe b Source #

GFunctor IO Source # 

Methods

gmap :: (a -> b) -> IO a -> IO b Source #

GFunctor Complex Source # 

Methods

gmap :: (a -> b) -> Complex a -> Complex b Source #

GFunctor Min Source # 

Methods

gmap :: (a -> b) -> Min a -> Min b Source #

GFunctor Max Source # 

Methods

gmap :: (a -> b) -> Max a -> Max b Source #

GFunctor First Source # 

Methods

gmap :: (a -> b) -> First a -> First b Source #

GFunctor Last Source # 

Methods

gmap :: (a -> b) -> Last a -> Last b Source #

GFunctor WrappedMonoid Source # 

Methods

gmap :: (a -> b) -> WrappedMonoid a -> WrappedMonoid b Source #

GFunctor Option Source # 

Methods

gmap :: (a -> b) -> Option a -> Option b Source #

GFunctor NonEmpty Source # 

Methods

gmap :: (a -> b) -> NonEmpty a -> NonEmpty b Source #

GFunctor ZipList Source # 

Methods

gmap :: (a -> b) -> ZipList a -> ZipList b Source #

GFunctor Identity Source # 

Methods

gmap :: (a -> b) -> Identity a -> Identity b Source #

GFunctor Dual Source # 

Methods

gmap :: (a -> b) -> Dual a -> Dual b Source #

GFunctor Sum Source # 

Methods

gmap :: (a -> b) -> Sum a -> Sum b Source #

GFunctor Product Source # 

Methods

gmap :: (a -> b) -> Product a -> Product b Source #

GFunctor First Source # 

Methods

gmap :: (a -> b) -> First a -> First b Source #

GFunctor Last Source # 

Methods

gmap :: (a -> b) -> Last a -> Last b Source #

GFunctor (Either a) Source # 

Methods

gmap :: (a -> b) -> Either a a -> Either a b Source #

GFunctor ((,) a) Source # 

Methods

gmap :: (a -> b) -> (a, a) -> (a, b) Source #

GFunctor (Arg a) Source # 

Methods

gmap :: (a -> b) -> Arg a a -> Arg a b Source #

GFunctor (Proxy *) Source # 

Methods

gmap :: (a -> b) -> Proxy * a -> Proxy * b Source #

GFunctor (Const * m) Source # 

Methods

gmap :: (a -> b) -> Const * m a -> Const * m b Source #

GFunctor f => GFunctor (Alt * f) Source # 

Methods

gmap :: (a -> b) -> Alt * f a -> Alt * f b Source #

GFunctor ((->) LiftedRep LiftedRep r) Source # 

Methods

gmap :: (a -> b) -> (LiftedRep -> LiftedRep) r a -> (LiftedRep -> LiftedRep) r b Source #

(GFunctor f, GFunctor g) => GFunctor (Product * f g) Source # 

Methods

gmap :: (a -> b) -> Product * f g a -> Product * f g b Source #

(GFunctor f, GFunctor g) => GFunctor (Sum * f g) Source # 

Methods

gmap :: (a -> b) -> Sum * f g a -> Sum * f g b Source #

Default method

gmapdefault :: (Generic1 f, GFunctor' (Rep1 f)) => (a -> b) -> f a -> f b Source #

Internal Functor class

class GFunctor' f where Source #

Minimal complete definition

gmap'

Methods

gmap' :: (a -> b) -> f a -> f b Source #

Instances

GFunctor' Par1 Source # 

Methods

gmap' :: (a -> b) -> Par1 a -> Par1 b Source #

GFunctor' (V1 *) Source # 

Methods

gmap' :: (a -> b) -> V1 * a -> V1 * b Source #

GFunctor' (U1 *) Source # 

Methods

gmap' :: (a -> b) -> U1 * a -> U1 * b Source #

GFunctor' (UAddr *) Source # 

Methods

gmap' :: (a -> b) -> UAddr * a -> UAddr * b Source #

GFunctor' (UChar *) Source # 

Methods

gmap' :: (a -> b) -> UChar * a -> UChar * b Source #

GFunctor' (UDouble *) Source # 

Methods

gmap' :: (a -> b) -> UDouble * a -> UDouble * b Source #

GFunctor' (UFloat *) Source # 

Methods

gmap' :: (a -> b) -> UFloat * a -> UFloat * b Source #

GFunctor' (UInt *) Source # 

Methods

gmap' :: (a -> b) -> UInt * a -> UInt * b Source #

GFunctor' (UWord *) Source # 

Methods

gmap' :: (a -> b) -> UWord * a -> UWord * b Source #

GFunctor f => GFunctor' (Rec1 * f) Source # 

Methods

gmap' :: (a -> b) -> Rec1 * f a -> Rec1 * f b Source #

GFunctor' (K1 * i c) Source # 

Methods

gmap' :: (a -> b) -> K1 * i c a -> K1 * i c b Source #

(GFunctor' f, GFunctor' g) => GFunctor' ((:+:) * f g) Source # 

Methods

gmap' :: (a -> b) -> (* :+: f) g a -> (* :+: f) g b Source #

(GFunctor' f, GFunctor' g) => GFunctor' ((:*:) * f g) Source # 

Methods

gmap' :: (a -> b) -> (* :*: f) g a -> (* :*: f) g b Source #

GFunctor' f => GFunctor' (M1 * i c f) Source # 

Methods

gmap' :: (a -> b) -> M1 * i c f a -> M1 * i c f b Source #

(GFunctor f, GFunctor' g) => GFunctor' ((:.:) * * f g) Source # 

Methods

gmap' :: (a -> b) -> (* :.: *) f g a -> (* :.: *) f g b Source #