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