pointed-5.0.2: Pointed and copointed data

Safe HaskellSafe
LanguageHaskell2010

Data.Copointed

Synopsis

Documentation

class Copointed p 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
Copointed Par1 Source # 
Instance details

Defined in Data.Copointed

Methods

copoint :: Par1 a -> a Source #

Copointed Min Source # 
Instance details

Defined in Data.Copointed

Methods

copoint :: Min a -> a Source #

Copointed Max Source # 
Instance details

Defined in Data.Copointed

Methods

copoint :: Max a -> a Source #

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 WrappedMonoid Source # 
Instance details

Defined in Data.Copointed

Methods

copoint :: WrappedMonoid 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 Sum Source # 
Instance details

Defined in Data.Copointed

Methods

copoint :: Sum a -> a Source #

Copointed Product Source # 
Instance details

Defined in Data.Copointed

Methods

copoint :: Product a -> a Source #

Copointed NonEmpty Source # 
Instance details

Defined in Data.Copointed

Methods

copoint :: NonEmpty a -> a Source #

Copointed Tree Source # 
Instance details

Defined in Data.Copointed

Methods

copoint :: Tree a -> a Source #

Copointed ((,) a) Source # 
Instance details

Defined in Data.Copointed

Methods

copoint :: (a, a0) -> a0 Source #

Copointed (Arg a) Source # 
Instance details

Defined in Data.Copointed

Methods

copoint :: Arg a a0 -> a0 Source #

Copointed m => Copointed (WrappedMonad m) Source # 
Instance details

Defined in Data.Copointed

Methods

copoint :: WrappedMonad m 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 (MaybeApply f) Source # 
Instance details

Defined in Data.Copointed

Methods

copoint :: MaybeApply f a -> a Source #

Copointed f => Copointed (Lift f) Source # 
Instance details

Defined in Data.Copointed

Methods

copoint :: Lift f a -> a Source #

Copointed f => Copointed (Rec1 f) Source # 
Instance details

Defined in Data.Copointed

Methods

copoint :: Rec1 f a -> a Source #

Copointed ((,,) a b) Source # 
Instance details

Defined in Data.Copointed

Methods

copoint :: (a, b, a0) -> a0 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 w => Copointed (StoreT s w) Source # 
Instance details

Defined in Data.Copointed

Methods

copoint :: StoreT s w a -> a Source #

Copointed w => Copointed (EnvT e w) Source # 
Instance details

Defined in Data.Copointed

Methods

copoint :: EnvT e w 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 (Tagged a) Source # 
Instance details

Defined in Data.Copointed

Methods

copoint :: Tagged a a0 -> a0 Source #

Copointed f => Copointed (Reverse f) Source # 
Instance details

Defined in Data.Copointed

Methods

copoint :: Reverse f a -> a Source #

Copointed f => Copointed (Backwards f) Source # 
Instance details

Defined in Data.Copointed

Methods

copoint :: Backwards f a -> a Source #

Default m => Copointed ((->) m :: Type -> Type) Source # 
Instance details

Defined in Data.Copointed

Methods

copoint :: (m -> 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 #

(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 (M1 i c f) Source # 
Instance details

Defined in Data.Copointed

Methods

copoint :: M1 i c f 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 p, Copointed q) => Copointed (Compose p q) Source # 
Instance details

Defined in Data.Copointed

Methods

copoint :: Compose p q a -> a Source #