Data.Copointed

pointed-5.0.5: Pointed and copointed data

Safe Haskell | Safe-Inferred
Language | Haskell2010

Data.Copointed

Synopsis

- class Copointed (p :: Type -> Type) where
  - copoint :: p a -> a

# Documentation

class Copointed (p :: Type -> Type) where #

`Copointed` does not require a `Functor`, as the only relationship between `copoint` and `fmap` is given by a free theorem.

Methods

copoint :: p a -> a #

#### Instances

Instances details

Copointed First # |
Instance details Defined in Data.Copointed Methods copoint :: First a -> a #
Copointed Last # |
Instance details Defined in Data.Copointed Methods copoint :: Last a -> a #
Copointed Max # |
Instance details Defined in Data.Copointed Methods copoint :: Max a -> a #
Copointed Min # |
Instance details Defined in Data.Copointed Methods copoint :: Min a -> a #
Copointed WrappedMonoid # |
Instance details Defined in Data.Copointed Methods copoint :: WrappedMonoid a -> a #
Copointed Tree # |
Instance details Defined in Data.Copointed Methods copoint :: Tree a -> a #
Copointed NonEmpty # |
Instance details Defined in Data.Copointed Methods copoint :: NonEmpty a -> a #
Copointed Identity # |
Instance details Defined in Data.Copointed Methods copoint :: Identity a -> a #
Copointed Dual # |
Instance details Defined in Data.Copointed Methods copoint :: Dual a -> a #
Copointed Product # |
Instance details Defined in Data.Copointed Methods copoint :: Product a -> a #
Copointed Sum # |
Instance details Defined in Data.Copointed Methods copoint :: Sum a -> a #
Copointed Par1 # |
Instance details Defined in Data.Copointed Methods copoint :: Par1 a -> a #
Copointed m => Copointed (WrappedMonad m) # |
Instance details Defined in Data.Copointed Methods copoint :: WrappedMonad m a -> a #
Copointed (Arg a) # |
Instance details Defined in Data.Copointed Methods copoint :: Arg a a0 -> a0 #
Copointed f => Copointed (MaybeApply f) # |
Instance details Defined in Data.Copointed Methods copoint :: MaybeApply f a -> a #
Copointed f => Copointed (WrappedApplicative f) # |
Instance details Defined in Data.Copointed Methods copoint :: WrappedApplicative f a -> a #
Copointed f => Copointed (Lift f) # |
Instance details Defined in Data.Copointed Methods copoint :: Lift f a -> a #
Copointed ((,) a) # |
Instance details Defined in Data.Copointed Methods copoint :: (a, a0) -> a0 #
Copointed w => Copointed (EnvT e w) # |
Instance details Defined in Data.Copointed Methods copoint :: EnvT e w a -> a #
Copointed w => Copointed (StoreT s w) # |
Instance details Defined in Data.Copointed Methods copoint :: StoreT s w a -> a #
(Default m, Copointed w) => Copointed (TracedT m w) # |
Instance details Defined in Data.Copointed Methods copoint :: TracedT m w a -> a #
Copointed f => Copointed (Rec1 f) # |
Instance details Defined in Data.Copointed Methods copoint :: Rec1 f a -> a #
Copointed (Tagged a) # |
Instance details Defined in Data.Copointed Methods copoint :: Tagged a a0 -> a0 #
Copointed f => Copointed (Backwards f) # |
Instance details Defined in Data.Copointed Methods copoint :: Backwards f a -> a #
Copointed m => Copointed (IdentityT m) # |
Instance details Defined in Data.Copointed Methods copoint :: IdentityT m a -> a #
Copointed m => Copointed (WriterT w m) # |
Instance details Defined in Data.Copointed Methods copoint :: WriterT w m a -> a #
Copointed m => Copointed (WriterT w m) # |
Instance details Defined in Data.Copointed Methods copoint :: WriterT w m a -> a #
Copointed f => Copointed (Reverse f) # |
Instance details Defined in Data.Copointed Methods copoint :: Reverse f a -> a #
Copointed ((,,) a b) # |
Instance details Defined in Data.Copointed Methods copoint :: (a, b, a0) -> a0 #
(Copointed f, Copointed g) => Copointed (Sum f g) # |
Instance details Defined in Data.Copointed Methods copoint :: Sum f g a -> a #
(Copointed f, Copointed g) => Copointed (f :+: g) # |
Instance details Defined in Data.Copointed Methods copoint :: (f :+: g) a -> a #
Copointed ((,,,) a b c) # |
Instance details Defined in Data.Copointed Methods copoint :: (a, b, c, a0) -> a0 #
Default m => Copointed ((->) m) # |
Instance details Defined in Data.Copointed Methods copoint :: (m -> a) -> a #
(Copointed p, Copointed q) => Copointed (Compose p q) # |
Instance details Defined in Data.Copointed Methods copoint :: Compose p q a -> a #
(Copointed f, Copointed g) => Copointed (f :.: g) # |
Instance details Defined in Data.Copointed Methods copoint :: (f :.: g) a -> a #
Copointed f => Copointed (M1 i c f) # |
Instance details Defined in Data.Copointed Methods copoint :: M1 i c f a -> a #