-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Pointed and copointed data
--
-- Pointed and copointed data
@package pointed
@version 4.2
module Data.Copointed
-- | Copointed does not require a Functor, as the only
-- relationship between copoint and fmap is given by a free
-- theorem.
class Copointed p
copoint :: Copointed p => p a -> a
instance [safe] Copointed w => Copointed (StoreT s w)
instance [safe] Copointed w => Copointed (EnvT e w)
instance [safe] Copointed Min
instance [safe] Copointed Max
instance [safe] Copointed Last
instance [safe] Copointed First
instance [safe] Copointed NonEmpty
instance [safe] Copointed Sum
instance [safe] Copointed Dual
instance [safe] Copointed m => Copointed (WriterT w m)
instance [safe] Copointed m => Copointed (WriterT w m)
instance [safe] Copointed m => Copointed (IdentityT m)
instance [safe] (Functor g, g ~ h) => Copointed (Lift g h)
instance [safe] (Copointed p, Copointed q) => Copointed (Coproduct p q)
instance [safe] (Copointed p, Copointed q) => Copointed (Compose p q)
instance [safe] Copointed Tree
instance [safe] Copointed ((,,,) a b c)
instance [safe] Copointed ((,,) a b)
instance [safe] Copointed ((,) a)
instance [safe] (Default m, Copointed w) => Copointed (TracedT m w)
instance [safe] Default m => Copointed ((->) m)
instance [safe] Copointed Identity
instance [safe] Copointed (Tagged a)
instance [safe] (Copointed f, Copointed g) => Copointed (Sum f g)
module Data.Pointed
class Pointed p
point :: Pointed p => a -> p a
instance [safe] Pointed m => Pointed (Static m a)
instance [safe] Pointed m => Pointed (StateT s m)
instance [safe] Pointed m => Pointed (StateT s m)
instance [safe] (Default w, Pointed m) => Pointed (WriterT w m)
instance [safe] (Default w, Pointed m) => Pointed (WriterT w m)
instance [safe] (Default w, Pointed m) => Pointed (RWST r w s m)
instance [safe] (Default w, Pointed m) => Pointed (RWST r w s m)
instance [safe] Pointed m => Pointed (ReaderT r m)
instance [safe] Pointed m => Pointed (MaybeT m)
instance [safe] Pointed m => Pointed (ListT m)
instance [safe] Pointed m => Pointed (IdentityT m)
instance [safe] Pointed m => Pointed (ExceptT e m)
instance [safe] Pointed m => Pointed (ErrorT e m)
instance [safe] Pointed (ContT r m)
instance [safe] Default m => Pointed (Constant m)
instance [safe] (Pointed p, Pointed q) => Pointed (Product p q)
instance [safe] (Functor g, g ~ h) => Pointed (Rift g h)
instance [safe] Pointed (Lift f)
instance [safe] Pointed f => Pointed (Backwards f)
instance [safe] Pointed f => Pointed (Reverse f)
instance [safe] (Pointed p, Pointed q) => Pointed (Compose p q)
instance [safe] Pointed Set
instance [safe] Pointed Seq
instance [safe] Pointed Min
instance [safe] Pointed Max
instance [safe] Pointed Last
instance [safe] Pointed First
instance [safe] Pointed Last
instance [safe] Pointed First
instance [safe] Pointed Product
instance [safe] Pointed Sum
instance [safe] Pointed Endo
instance [safe] Pointed Dual
instance [safe] Arrow a => Pointed (WrappedArrow a b)
instance [safe] Default m => Pointed (Const m)
instance [safe] Monad m => Pointed (WrappedMonad m)
instance [safe] Default e => Pointed ((,) e)
instance [safe] Pointed ((->) e)
instance [safe] Pointed Identity
instance [safe] Pointed ZipList
instance [safe] Pointed NonEmpty
instance [safe] Pointed Tree
instance [safe] Pointed STM
instance [safe] Pointed IO
instance [safe] Pointed (Either a)
instance [safe] Pointed Maybe
instance [safe] Pointed []
instance [safe] Pointed (Tagged a)
instance [safe] Pointed Proxy