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

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

#### Instances

Instances details

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