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 Source #

Minimal complete definition

Nothing

Methods

gcopoint :: d a -> a Source #

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

#### Instances

Instances details

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

# Default method

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

# Internal class

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

Methods

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

#### Instances

Instances details

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