-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Pointed and copointed data -- -- Pointed and copointed data @package pointed @version 4.1 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 (EnvT e 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 w) => Copointed (TracedT m w) instance Default m => Copointed ((->) m) instance Copointed Identity instance Copointed (Tagged * a) 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 (ReaderT r m) instance Pointed m => Pointed (MaybeT m) instance Pointed m => Pointed (ListT m) instance Pointed m => Pointed (IdentityT m) instance Pointed m => Pointed (ExceptT e 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 (Lift f) instance Pointed f => Pointed (Backwards f) instance Pointed f => Pointed (Reverse f) 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 [] instance Pointed (Tagged * a) instance Pointed (Proxy *)