-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Haskell 98 Pointed and copointed data
--
-- Haskell 98 Pointed and copointed data
@package pointed
@version 2.0
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 Copointed w => Copointed (StoreT s w)
instance Copointed w => Copointed (StoreT s w)
instance Copointed w => Copointed (StoreT s w)
instance Copointed w => Copointed (EnvT e w)
instance Copointed w => Copointed (EnvT e w)
instance Copointed (DiscontT s w)
instance Copointed (DiscontT s w)
instance Copointed (DiscontT s w)
instance Copointed Min
instance Copointed Max
instance Copointed Last
instance Copointed First
instance Copointed NonEmpty
instance Copointed Sum
instance Copointed Dual
instance Copointed m => Copointed (WriterT w m)
instance Copointed m => Copointed (WriterT w m)
instance Copointed m => Copointed (IdentityT m)
instance (Copointed p, Copointed q) => Copointed (Coproduct p q)
instance (Copointed p, Copointed q) => Copointed (Compose p q)
instance Copointed Tree
instance Copointed ((,,,) a b c)
instance Copointed ((,,) a b)
instance Copointed ((,) a)
instance Default m => Copointed ((->) m)
instance Copointed Identity
module Data.Pointed
class Pointed p
point :: Pointed p => a -> p a
instance Pointed m => Pointed (Static m a)
instance Pointed m => Pointed (StateT s m)
instance Pointed m => Pointed (StateT s m)
instance (Default w, Pointed m) => Pointed (WriterT w m)
instance (Default w, Pointed m) => Pointed (WriterT w m)
instance (Default w, Pointed m) => Pointed (RWST r w s m)
instance (Default w, Pointed m) => Pointed (RWST r w s m)
instance Pointed m => Pointed (MaybeT m)
instance Pointed m => Pointed (ListT m)
instance Pointed m => Pointed (IdentityT m)
instance Pointed m => Pointed (ErrorT e m)
instance Pointed (ContT r m)
instance Default m => Pointed (Constant m)
instance (Pointed p, Pointed q) => Pointed (Product p q)
instance (Pointed p, Pointed q) => Pointed (Compose p q)
instance Pointed Set
instance Pointed Seq
instance Pointed Min
instance Pointed Max
instance Pointed Last
instance Pointed First
instance Pointed Last
instance Pointed First
instance Pointed Product
instance Pointed Sum
instance Pointed Endo
instance Pointed Dual
instance Arrow a => Pointed (WrappedArrow a b)
instance Default m => Pointed (Const m)
instance Monad m => Pointed (WrappedMonad m)
instance Default e => Pointed ((,) e)
instance Pointed ((->) e)
instance Pointed Identity
instance Pointed ZipList
instance Pointed NonEmpty
instance Pointed Tree
instance Pointed STM
instance Pointed IO
instance Pointed (Either a)
instance Pointed Maybe
instance Pointed []