-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Pointed and copointed data -- -- Pointed and copointed data @package pointed @version 5 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 Data.Copointed.Copointed ((,) a) instance Data.Copointed.Copointed ((,,) a b) instance Data.Copointed.Copointed ((,,,) a b c) instance Data.Default.Class.Default m => Data.Copointed.Copointed ((->) m) instance Data.Copointed.Copointed m => Data.Copointed.Copointed (Control.Applicative.WrappedMonad m) instance (Data.Default.Class.Default m, Data.Copointed.Copointed w) => Data.Copointed.Copointed (Control.Comonad.Trans.Traced.TracedT m w) instance Data.Copointed.Copointed w => Data.Copointed.Copointed (Control.Comonad.Trans.Env.EnvT e w) instance Data.Copointed.Copointed w => Data.Copointed.Copointed (Control.Comonad.Trans.Store.StoreT s w) instance Data.Copointed.Copointed Data.Tree.Tree instance Data.Copointed.Copointed (Data.Tagged.Tagged a) instance Data.Copointed.Copointed Data.Functor.Identity.Identity instance (Data.Copointed.Copointed p, Data.Copointed.Copointed q) => Data.Copointed.Copointed (Data.Functor.Compose.Compose p q) instance (Data.Copointed.Copointed f, Data.Copointed.Copointed g) => Data.Copointed.Copointed (Data.Functor.Sum.Sum f g) instance Data.Copointed.Copointed f => Data.Copointed.Copointed (Control.Applicative.Backwards.Backwards f) instance Data.Copointed.Copointed f => Data.Copointed.Copointed (Control.Applicative.Lift.Lift f) instance Data.Copointed.Copointed f => Data.Copointed.Copointed (Data.Functor.Reverse.Reverse f) instance Data.Copointed.Copointed m => Data.Copointed.Copointed (Control.Monad.Trans.Identity.IdentityT m) instance Data.Copointed.Copointed m => Data.Copointed.Copointed (Control.Monad.Trans.Writer.Lazy.WriterT w m) instance Data.Copointed.Copointed m => Data.Copointed.Copointed (Control.Monad.Trans.Writer.Strict.WriterT w m) instance Data.Copointed.Copointed Data.Monoid.Dual instance Data.Copointed.Copointed Data.Monoid.Sum instance Data.Copointed.Copointed Data.List.NonEmpty.NonEmpty instance Data.Copointed.Copointed Data.Semigroup.First instance Data.Copointed.Copointed Data.Semigroup.Last instance Data.Copointed.Copointed Data.Semigroup.Max instance Data.Copointed.Copointed Data.Semigroup.Min instance Data.Copointed.Copointed Data.Semigroup.WrappedMonoid instance Data.Copointed.Copointed (Data.Semigroup.Arg a) instance Data.Copointed.Copointed f => Data.Copointed.Copointed (Data.Functor.Bind.Class.WrappedApplicative f) instance Data.Copointed.Copointed f => Data.Copointed.Copointed (Data.Functor.Bind.Class.MaybeApply f) module Data.Pointed class Pointed p point :: Pointed p => a -> p a instance Data.Pointed.Pointed [] instance Data.Pointed.Pointed GHC.Base.Maybe instance Data.Pointed.Pointed (Data.Either.Either a) instance Data.Pointed.Pointed GHC.Types.IO instance Data.Pointed.Pointed Control.Applicative.ZipList instance Data.Pointed.Pointed Data.Functor.Identity.Identity instance Data.Pointed.Pointed ((->) e) instance Data.Default.Class.Default e => Data.Pointed.Pointed ((,) e) instance Data.Default.Class.Default m => Data.Pointed.Pointed (Control.Applicative.Const m) instance GHC.Base.Monad m => Data.Pointed.Pointed (Control.Applicative.WrappedMonad m) instance Control.Arrow.Arrow a => Data.Pointed.Pointed (Control.Applicative.WrappedArrow a b) instance Data.Pointed.Pointed Data.Monoid.Dual instance Data.Pointed.Pointed Data.Monoid.Endo instance Data.Pointed.Pointed Data.Monoid.Sum instance Data.Pointed.Pointed Data.Monoid.Product instance Data.Pointed.Pointed Data.Monoid.First instance Data.Pointed.Pointed Data.Monoid.Last instance Data.Pointed.Pointed (Control.Comonad.Cokleisli w a) instance Data.Pointed.Pointed Data.Tree.Tree instance Data.Default.Class.Default k => Data.Pointed.Pointed (Data.Map.Base.Map k) instance Data.Pointed.Pointed Data.Sequence.Seq instance Data.Pointed.Pointed Data.Sequence.ViewL instance Data.Pointed.Pointed Data.Sequence.ViewR instance Data.Pointed.Pointed Data.Set.Base.Set instance (GHC.Base.Functor g, g ~ h) => Data.Pointed.Pointed (Data.Functor.Day.Curried.Curried g h) instance Data.Pointed.Pointed m => Data.Pointed.Pointed (Data.Semigroupoid.Static.Static m a) instance Data.Pointed.Pointed f => Data.Pointed.Pointed (Data.Functor.Bind.Class.WrappedApplicative f) instance Data.Pointed.Pointed (Data.Functor.Bind.Class.MaybeApply f) instance Data.Pointed.Pointed Data.List.NonEmpty.NonEmpty instance Data.Pointed.Pointed Data.Semigroup.First instance Data.Pointed.Pointed Data.Semigroup.Last instance Data.Pointed.Pointed Data.Semigroup.Max instance Data.Pointed.Pointed Data.Semigroup.Min instance Data.Pointed.Pointed Data.Semigroup.Option instance Data.Pointed.Pointed Data.Semigroup.WrappedMonoid instance Data.Default.Class.Default a => Data.Pointed.Pointed (Data.Semigroup.Arg a) instance Data.Pointed.Pointed GHC.Conc.Sync.STM instance Data.Pointed.Pointed Data.Proxy.Proxy instance Data.Pointed.Pointed (Data.Tagged.Tagged a) instance (Data.Pointed.Pointed p, Data.Pointed.Pointed q) => Data.Pointed.Pointed (Data.Functor.Compose.Compose p q) instance (Data.Pointed.Pointed p, Data.Pointed.Pointed q) => Data.Pointed.Pointed (Data.Functor.Product.Product p q) instance Data.Pointed.Pointed (Control.Monad.Trans.Cont.ContT r m) instance Data.Pointed.Pointed m => Data.Pointed.Pointed (Control.Monad.Trans.Error.ErrorT e m) instance Data.Pointed.Pointed m => Data.Pointed.Pointed (Control.Monad.Trans.Except.ExceptT e m) instance Data.Pointed.Pointed m => Data.Pointed.Pointed (Control.Monad.Trans.Identity.IdentityT m) instance Data.Pointed.Pointed m => Data.Pointed.Pointed (Control.Monad.Trans.List.ListT m) instance Data.Pointed.Pointed m => Data.Pointed.Pointed (Control.Monad.Trans.Maybe.MaybeT m) instance Data.Pointed.Pointed m => Data.Pointed.Pointed (Control.Monad.Trans.Reader.ReaderT r m) instance Data.Default.Class.Default m => Data.Pointed.Pointed (Data.Functor.Constant.Constant m) instance Data.Pointed.Pointed m => Data.Pointed.Pointed (Control.Monad.Trans.State.Lazy.StateT s m) instance Data.Pointed.Pointed m => Data.Pointed.Pointed (Control.Monad.Trans.State.Strict.StateT s m) instance (Data.Default.Class.Default w, Data.Pointed.Pointed m) => Data.Pointed.Pointed (Control.Monad.Trans.RWS.Lazy.RWST r w s m) instance (Data.Default.Class.Default w, Data.Pointed.Pointed m) => Data.Pointed.Pointed (Control.Monad.Trans.RWS.Strict.RWST r w s m) instance (Data.Default.Class.Default w, Data.Pointed.Pointed m) => Data.Pointed.Pointed (Control.Monad.Trans.Writer.Lazy.WriterT w m) instance (Data.Default.Class.Default w, Data.Pointed.Pointed m) => Data.Pointed.Pointed (Control.Monad.Trans.Writer.Strict.WriterT w m) instance Data.Pointed.Pointed f => Data.Pointed.Pointed (Data.Functor.Reverse.Reverse f) instance Data.Pointed.Pointed f => Data.Pointed.Pointed (Control.Applicative.Backwards.Backwards f) instance Data.Pointed.Pointed (Control.Applicative.Lift.Lift f) instance (Data.Default.Class.Default k, Data.Hashable.Class.Hashable k) => Data.Pointed.Pointed (Data.HashMap.Base.HashMap k)