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

Safe Haskell | Safe
Language | Haskell2010

Generics.Deriving.Copoint

Contents

- GCopoint class
- Default method
- Internal class

Synopsis

- class GCopoint (d :: Type -> Type) where
  - gcopoint :: d a -> a
- gcopointdefault :: (Generic1 d, GCopoint' (Rep1 d)) => d a -> a
- class GCopoint' (t :: Type -> Type) where
  - gcopoint' :: t a -> Maybe a

# GCopoint class

class GCopoint (d :: Type -> Type) where #

Minimal complete definition

Nothing

Methods

gcopoint :: d a -> a #

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

#### Instances

Instances details

GCopoint First # |
Instance details Defined in Generics.Deriving.Copoint Methods gcopoint :: First a -> a #
GCopoint Last # |
Instance details Defined in Generics.Deriving.Copoint Methods gcopoint :: Last a -> a #
GCopoint Max # |
Instance details Defined in Generics.Deriving.Copoint Methods gcopoint :: Max a -> a #
GCopoint Min # |
Instance details Defined in Generics.Deriving.Copoint Methods gcopoint :: Min a -> a #
GCopoint WrappedMonoid # |
Instance details Defined in Generics.Deriving.Copoint Methods gcopoint :: WrappedMonoid a -> a #
GCopoint Identity # |
Instance details Defined in Generics.Deriving.Copoint Methods gcopoint :: Identity a -> a #
GCopoint Down # |
Instance details Defined in Generics.Deriving.Copoint Methods gcopoint :: Down a -> a #
GCopoint Dual # |
Instance details Defined in Generics.Deriving.Copoint Methods gcopoint :: Dual a -> a #
GCopoint Sum # |
Instance details Defined in Generics.Deriving.Copoint Methods gcopoint :: Sum a -> a #
GCopoint m => GCopoint (WrappedMonad m) # |
Instance details Defined in Generics.Deriving.Copoint Methods gcopoint :: WrappedMonad m a -> a #
GCopoint (Arg a) # |
Instance details Defined in Generics.Deriving.Copoint Methods gcopoint :: Arg a a0 -> a0 #
(Generic1 f, GCopoint' (Rep1 f)) => GCopoint (Default1 f) # |
Instance details Defined in Generics.Deriving.Default Methods gcopoint :: Default1 f a -> a #
GCopoint ((,) a) # |
Instance details Defined in Generics.Deriving.Copoint Methods gcopoint :: (a, a0) -> a0 #
GCopoint f => GCopoint (Alt f) # |
Instance details Defined in Generics.Deriving.Copoint Methods gcopoint :: Alt f a -> a #
GCopoint ((,,) a b) # |
Instance details Defined in Generics.Deriving.Copoint Methods gcopoint :: (a, b, a0) -> a0 #
(GCopoint f, GCopoint g) => GCopoint (Sum f g) # |
Instance details Defined in Generics.Deriving.Copoint Methods gcopoint :: Sum f g a -> a #
GCopoint ((,,,) a b c) # |
Instance details Defined in Generics.Deriving.Copoint Methods gcopoint :: (a, b, c, a0) -> a0 #
GCopoint ((,,,,) a b c d) # |
Instance details Defined in Generics.Deriving.Copoint Methods gcopoint :: (a, b, c, d, a0) -> a0 #
GCopoint ((,,,,,) a b c d e) # |
Instance details Defined in Generics.Deriving.Copoint Methods gcopoint :: (a, b, c, d, e, a0) -> a0 #
GCopoint ((,,,,,,) a b c d e f) # |
Instance details Defined in Generics.Deriving.Copoint Methods gcopoint :: (a, b, c, d, e, f, a0) -> a0 #

# Default method

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

# Internal class

class GCopoint' (t :: Type -> Type) where #

Methods

gcopoint' :: t a -> Maybe a #

#### Instances

Instances details

GCopoint' Par1 # |
Instance details Defined in Generics.Deriving.Copoint Methods gcopoint' :: Par1 a -> Maybe a #
GCopoint' (U1 :: Type -> Type) # |
Instance details Defined in Generics.Deriving.Copoint Methods gcopoint' :: U1 a -> Maybe a #
GCopoint' (V1 :: Type -> Type) # |
Instance details Defined in Generics.Deriving.Copoint Methods gcopoint' :: V1 a -> Maybe a #
GCopoint f => GCopoint' (Rec1 f) # |
Instance details Defined in Generics.Deriving.Copoint Methods gcopoint' :: Rec1 f a -> Maybe a #
(GCopoint' f, GCopoint' g) => GCopoint' (f :*: g) # |
Instance details Defined in Generics.Deriving.Copoint Methods gcopoint' :: (f :*: g) a -> Maybe a #
(GCopoint' f, GCopoint' g) => GCopoint' (f :+: g) # |
Instance details Defined in Generics.Deriving.Copoint Methods gcopoint' :: (f :+: g) a -> Maybe a #
GCopoint' (K1 i c :: Type -> Type) # |
Instance details Defined in Generics.Deriving.Copoint Methods gcopoint' :: K1 i c a -> Maybe a #
(GCopoint f, GCopoint' g) => GCopoint' (f :.: g) # |
Instance details Defined in Generics.Deriving.Copoint Methods gcopoint' :: (f :.: g) a -> Maybe a #
GCopoint' f => GCopoint' (M1 i c f) # |
Instance details Defined in Generics.Deriving.Copoint Methods gcopoint' :: M1 i c f a -> Maybe a #