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