-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Pointed and copointed data
--
-- Pointed and copointed data.
@package pointed
@version 5.0.4
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.Semigroup.Internal.Dual
instance Data.Copointed.Copointed Data.Semigroup.Internal.Sum
instance Data.Copointed.Copointed Data.Semigroup.Internal.Product
instance Data.Copointed.Copointed GHC.Base.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)
instance Data.Copointed.Copointed GHC.Generics.Par1
instance Data.Copointed.Copointed f => Data.Copointed.Copointed (GHC.Generics.M1 i c f)
instance Data.Copointed.Copointed f => Data.Copointed.Copointed (GHC.Generics.Rec1 f)
instance (Data.Copointed.Copointed f, Data.Copointed.Copointed g) => Data.Copointed.Copointed (f GHC.Generics.:+: g)
instance (Data.Copointed.Copointed f, Data.Copointed.Copointed g) => Data.Copointed.Copointed (f GHC.Generics.:.: g)
module Data.Pointed
class Pointed p
point :: Pointed p => a -> p a
instance Data.Pointed.Pointed []
instance Data.Pointed.Pointed GHC.Maybe.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 (Data.Functor.Const.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.Semigroup.Internal.Dual
instance Data.Pointed.Pointed Data.Semigroup.Internal.Endo
instance Data.Pointed.Pointed Data.Semigroup.Internal.Sum
instance Data.Pointed.Pointed Data.Semigroup.Internal.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.Internal.Map k)
instance Data.Pointed.Pointed Data.Sequence.Internal.Seq
instance Data.Pointed.Pointed Data.Sequence.Internal.ViewL
instance Data.Pointed.Pointed Data.Sequence.Internal.ViewR
instance Data.Pointed.Pointed Data.Set.Internal.Set
instance (GHC.Base.Functor g, g GHC.Types.~ 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 GHC.Base.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.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.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.Pointed.Pointed m => Data.Pointed.Pointed (Control.Monad.Trans.Error.ErrorT e m)
instance Data.Pointed.Pointed m => Data.Pointed.Pointed (Control.Monad.Trans.List.ListT m)
instance (Data.Default.Class.Default k, Data.Hashable.Class.Hashable k) => Data.Pointed.Pointed (Data.HashMap.Internal.HashMap k)
instance Data.Pointed.Pointed GHC.Generics.U1
instance Data.Pointed.Pointed GHC.Generics.Par1
instance Data.Pointed.Pointed f => Data.Pointed.Pointed (GHC.Generics.Rec1 f)
instance Data.Pointed.Pointed f => Data.Pointed.Pointed (GHC.Generics.M1 i c f)
instance (Data.Pointed.Pointed f, Data.Pointed.Pointed g) => Data.Pointed.Pointed (f GHC.Generics.:*: g)
instance (Data.Pointed.Pointed f, Data.Pointed.Pointed g) => Data.Pointed.Pointed (f GHC.Generics.:.: g)