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

Safe HaskellSafe
LanguageHaskell2010

Generics.Deriving.Copoint

Contents

Synopsis

GCopoint class

class GCopoint d where #

Methods

gcopoint :: d a -> a #

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

Instances

GCopoint Identity # 

Methods

gcopoint :: Identity a -> a #

GCopoint Min # 

Methods

gcopoint :: Min a -> a #

GCopoint Max # 

Methods

gcopoint :: Max a -> a #

GCopoint First # 

Methods

gcopoint :: First a -> a #

GCopoint Last # 

Methods

gcopoint :: Last a -> a #

GCopoint WrappedMonoid # 

Methods

gcopoint :: WrappedMonoid a -> a #

GCopoint Dual # 

Methods

gcopoint :: Dual a -> a #

GCopoint Sum # 

Methods

gcopoint :: Sum a -> a #

GCopoint ((,) a) # 

Methods

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

GCopoint (Arg a) # 

Methods

gcopoint :: Arg a a -> a #

GCopoint m => GCopoint (WrappedMonad m) # 

Methods

gcopoint :: WrappedMonad m a -> a #

GCopoint ((,,) a b) # 

Methods

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

GCopoint f => GCopoint (Alt * f) # 

Methods

gcopoint :: Alt * f a -> a #

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

Methods

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

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

Methods

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

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

Methods

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

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

Methods

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

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

Methods

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

Default method

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

Internal class

class GCopoint' t where #

Minimal complete definition

gcopoint'

Methods

gcopoint' :: t a -> Maybe a #

Instances

GCopoint' U1 # 

Methods

gcopoint' :: U1 a -> Maybe a #

GCopoint' Par1 # 

Methods

gcopoint' :: Par1 a -> Maybe a #

GCopoint f => GCopoint' (Rec1 f) # 

Methods

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

GCopoint' (K1 i c) # 

Methods

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

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

Methods

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

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

Methods

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

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

Methods

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

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

Methods

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