A strong lax semi-monoidal endofunctor. This is equivalent to an Applicative without pure.
Laws:
(.) <$> u <.> v <.> w = u <.> (v <.> w)
x <.> (f <$> y) = (. f) <$> x <.> y
f <$> (x <.> y) = (f .) <$> x <.> y
The laws imply that .> and <. really ignore their left and right results, respectively, and really return their right and left results, respectively. Specifically,
(mf <$> m) .> (nf <$> n) = nf <$> (m .> n)
(mf <$> m) <. (nf <$> n) = mf <$> (m <. n)
Instances96Apply, …
Apply ComplexDefined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply FirstDefined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply LastDefined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply MaxDefined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply MinDefined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply IntMapDefined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassAn IntMap is not Applicative, but it is an instance of Apply
Apply SeqDefined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply TreeDefined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply NonEmptyDefined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply IdentityDefined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply FirstDefined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply LastDefined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply DownDefined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply DualDefined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply ProductDefined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply SumDefined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply ZipListDefined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply Par1Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply MaybeDefined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply IODefined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply QDefined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply VectorDefined in vector-instances-3.4.2 · Data.Vector.Instances · orphanApply []Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassRepresentable f => Apply (Co f)Defined in adjunctions-4.4.3 · Data.Functor.RepApplicative f => Apply (WrappedApplicative f)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassFunctor f => Apply (Free f)Defined in free-5.2 · Control.Monad.FreeMonad m => Apply (WrappedMonad m)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassMonad m => Apply (IterT m)Defined in free-5.2 · Control.Monad.Trans.IterSemigroup e => Apply (Validation e)Defined in either-5.0.3 · Data.Either.ValidationSemigroup m => Apply (Tuple2 m)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassA
is not Applicative unless its(,)mmis a Monoid, but it is an instance of ApplyOrd k => Apply (Map k)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassA 'Map k' is not Applicative, but it is an instance of Apply
Apply ProxyDefined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply U1Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply V1Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassA V1 is not Applicative, but it is an instance of Apply
Apply (Alt f)Defined in free-5.2 · Control.Alternative.FreeApply (Alt f)Defined in free-5.2 · Control.Alternative.Free.FinalApply (Ap f)Defined in free-5.2 · Control.Applicative.FreeApply (Ap f)Defined in free-5.2 · Control.Applicative.Free.FastApply (Ap f)Defined in free-5.2 · Control.Applicative.Free.FinalApply (F f)Defined in free-5.2 · Control.Monad.Free.ChurchApply (Either a)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply f => Apply (Cofree f)Defined in free-5.2 · Control.Comonad.CofreeApply f => Apply (Free f)Defined in free-5.2 · Control.Monad.Free.ApApply f => Apply (Coyoneda f)Defined in kan-extensions-5.2.7 · Data.Functor.CoyonedaApply f => Apply (Yoneda f)Defined in kan-extensions-5.2.7 · Data.Functor.YonedaApply f => Apply (MaybeApply f)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply f => Apply (Lift f)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.Class(Functor m, Monad m) => Apply (MaybeT m)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.Class(Hashable k, Eq k) => Apply (HashMap k)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassA 'HashMap k' is not Applicative, but it is an instance of Apply
Applicative g => Apply (ApF f g)Defined in free-5.2 · Control.Applicative.Trans.FreeApplicative g => Apply (ApT f g)Defined in free-5.2 · Control.Applicative.Trans.FreeSemigroup f => Apply (Constant f)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassA
Constant fis not Applicative unless itsfis a Monoid, but it is an instance of ApplySemigroup m => Apply (Const m)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassA
Const mis not Applicative unless itsmis a Monoid, but it is an instance of ApplyArrow a => Apply (WrappedArrow a b)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply (FT f m)Defined in free-5.2 · Control.Monad.Trans.Free.ChurchApply (Tagged a)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply f => Apply (Alt f)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply f => Apply (Rec1 f)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply f => Apply (Density f)Defined in kan-extensions-5.2.7 · Control.Comonad.DensityApply f => Apply (Static f a)Defined in semigroupoids-6.0.1 · Data.Semigroupoid.StaticApply f => Apply (Backwards f)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply f => Apply (Reverse f)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply m => Apply (ReaderT e m)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply w => Apply (TracedT m w)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply w => Apply (IdentityT w)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassBiapply p => Apply (Join p)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassBind m => Apply (StateT s m)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassBind m => Apply (StateT s m)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassBind m => Apply (WriterT w m)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.Class(Representable f, Apply m) => Apply (ReaderT f m)Defined in adjunctions-4.4.3 · Control.Monad.Representable.Reader(Representable g, Bind m) => Apply (StateT g m)Defined in adjunctions-4.4.3 · Control.Monad.Representable.State(Functor f, Monad m) => Apply (FreeT f m)Defined in free-5.2 · Control.Monad.Trans.Free(Functor g, g ~ h) => Apply (Curried g h)Defined in kan-extensions-5.2.7 · Data.Functor.Day.Curried(Functor m, Monad m) => Apply (ExceptT e m)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.Class(Semigroup e, Apply w) => Apply (EnvT e w)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassAn
EnvT e wis not Applicative unless itseis a Monoid, but it is an instance of Apply(Apply f, Apply m) => Apply (FreeT f m)Defined in free-5.2 · Control.Monad.Trans.Free.Ap(Apply m, Semigroup w) => Apply (WriterT w m)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassA
WriterT w mis not Applicative unless itswis a Monoid, but it is an instance of Apply(Apply m, Semigroup w) => Apply (WriterT w m)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassA
WriterT w mis not Applicative unless itswis a Monoid, but it is an instance of Apply(Apply w, Semigroup (Rep g), Representable g) => Apply (StoreT g w)Defined in adjunctions-4.4.3 · Control.Comonad.Representable.Store(Apply w, Semigroup s) => Apply (StoreT s w)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassA
StoreT s wis not Applicative unless itssis a Monoid, but it is an instance of ApplyComonad w => Apply (ContsT r w m)Defined in adjunctions-4.4.3 · Control.Monad.Trans.ContsSemigroup c => Apply (K1 i c)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassA
K1 i cis not Applicative unless itscis a Monoid, but it is an instance of ApplyApply (Cokleisli w a)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply (Codensity f)Defined in kan-extensions-5.2.7 · Control.Monad.CodensityApply (ContT r m)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply ((->) m)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassExtend w => Apply (CoT w m)Defined in kan-extensions-5.2.7 · Control.Monad.Co(Functor g, Apply h) => Apply (Lan g h)Defined in kan-extensions-5.2.7 · Data.Functor.Kan.Lan(Apply f, Apply g) => Apply (Product f g)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.Class(Apply f, Apply g) => Apply (f :*: g)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassApply f => Apply (M1 i t f)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassBind m => Apply (RWST r w s m)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.Class(Apply f, Apply g) => Apply (Compose f g)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.Class(Apply f, Apply g) => Apply (f :.: g)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.Class(Bind m, Semigroup w) => Apply (RWST r w s m)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassAn
RWST r w s mis not Applicative unless itswis a Monoid, but it is an instance of Apply(Bind m, Semigroup w) => Apply (RWST r w s m)Defined in semigroupoids-6.0.1 · Data.Functor.Bind.ClassAn
RWST r w s mis not Applicative unless itswis a Monoid, but it is an instance of Apply