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

Safe HaskellSafe
LanguageHaskell2010

Generics.Deriving.Copoint

Contents

Synopsis

GCopoint class

class GCopoint d where Source #

Methods

gcopoint :: d a -> a Source #

gcopoint :: (Generic1 d, GCopoint' (Rep1 d)) => d a -> a Source #

Instances

GCopoint Identity Source # 

Methods

gcopoint :: Identity a -> a Source #

GCopoint Min Source # 

Methods

gcopoint :: Min a -> a Source #

GCopoint Max Source # 

Methods

gcopoint :: Max a -> a Source #

GCopoint First Source # 

Methods

gcopoint :: First a -> a Source #

GCopoint Last Source # 

Methods

gcopoint :: Last a -> a Source #

GCopoint WrappedMonoid Source # 

Methods

gcopoint :: WrappedMonoid a -> a Source #

GCopoint Dual Source # 

Methods

gcopoint :: Dual a -> a Source #

GCopoint Sum Source # 

Methods

gcopoint :: Sum a -> a Source #

GCopoint ((,) a) Source # 

Methods

gcopoint :: (a, a) -> a Source #

GCopoint (Arg a) Source # 

Methods

gcopoint :: Arg a a -> a Source #

GCopoint m => GCopoint (WrappedMonad m) Source # 

Methods

gcopoint :: WrappedMonad m a -> a Source #

GCopoint ((,,) a b) Source # 

Methods

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

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

Methods

gcopoint :: Alt * f a -> a Source #

GCopoint ((,,,) a b c) Source # 

Methods

gcopoint :: (a, b, c, a) -> a Source #

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

Methods

gcopoint :: Sum * f g a -> a Source #

GCopoint ((,,,,) a b c d) Source # 

Methods

gcopoint :: (a, b, c, d, a) -> a Source #

GCopoint ((,,,,,) a b c d e) Source # 

Methods

gcopoint :: (a, b, c, d, e, a) -> a Source #

GCopoint ((,,,,,,) a b c d e f) Source # 

Methods

gcopoint :: (a, b, c, d, e, f, a) -> a Source #

Default method

gcopointdefault :: (Generic1 d, GCopoint' (Rep1 d)) => d a -> a Source #

Internal class

class GCopoint' t where Source #

Minimal complete definition

gcopoint'

Methods

gcopoint' :: t a -> Maybe a Source #

Instances

GCopoint' V1 Source # 

Methods

gcopoint' :: V1 a -> Maybe a Source #

GCopoint' U1 Source # 

Methods

gcopoint' :: U1 a -> Maybe a Source #

GCopoint' Par1 Source # 

Methods

gcopoint' :: Par1 a -> Maybe a Source #

GCopoint f => GCopoint' (Rec1 f) Source # 

Methods

gcopoint' :: Rec1 f a -> Maybe a Source #

GCopoint' (K1 i c) Source # 

Methods

gcopoint' :: K1 i c a -> Maybe a Source #

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

Methods

gcopoint' :: (f :+: g) a -> Maybe a Source #

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

Methods

gcopoint' :: (f :*: g) a -> Maybe a Source #

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

Methods

gcopoint' :: (f :.: g) a -> Maybe a Source #

GCopoint' f => GCopoint' (M1 i c f) Source # 

Methods

gcopoint' :: M1 i c f a -> Maybe a Source #