Module

Control.Subcategory.Endofunctor.HasApply

#HasApply

class HasApply c f  where

Members

Instances

#applyFirst

applyFirst :: forall c f v0 v1. HasApply c f => HasConst c => HasMap c f => ObjectOf c v0 => ObjectOf c v1 => ObjectOf c (f v0) => ObjectOf c (f v1) => ObjectOf c (c v1 v0) => ObjectOf c (f (c v1 v0)) => ObjectOf c (c v0 (c v1 v0)) => ObjectOf c (c (f v1) (f v0)) => ObjectOf c (c (f v1) (f v0)) => ObjectOf c (f (c v0 (c v1 v0))) => ObjectOf c (c (f v0) (f (c v1 v0))) => Restrictable Function c => Slackable c => f v0 -> c (f v1) (f v0)

#applySecond

applySecond :: forall c f v0 v1. HasApply c f => HasConst c => HasIdentity c => HasMap c f => ObjectOf c v0 => ObjectOf c v1 => ObjectOf c (f v0) => ObjectOf c (f v1) => ObjectOf c (c v1 v1) => ObjectOf c (f (c v1 v1)) => ObjectOf c (c v0 (c v1 v1)) => ObjectOf c (c (f v1) (f v1)) => ObjectOf c (f (c v0 (c v1 v1))) => ObjectOf c (c (f v0) (f (c v1 v1))) => ObjectOf c (c (c v1 v1) (c v0 (c v1 v1))) => Restrictable Function c => Slackable c => f v0 -> c (f v1) (f v1)

#lift2

lift2 :: forall c f v0 v1 v2. HasApply c f => HasMap c f => ObjectOf c v0 => ObjectOf c v1 => ObjectOf c v2 => ObjectOf c (c v1 v2) => ObjectOf c (f (c v1 v2)) => ObjectOf c (f v0) => ObjectOf c (f v1) => ObjectOf c (f v2) => ObjectOf c (c (f v1) (f v2)) => ObjectOf c (c (f v0) (f (c v1 v2))) => ObjectOf c (f (c v0 (c v1 v2))) => Restrictable Function c => Slackable c => c v0 (c v1 v2) -> c (f v0) (c (f v1) (f v2))

#lift3

lift3 :: forall c f v0 v1 v2 v3. HasApply c f => HasMap c f => ObjectOf c v0 => ObjectOf c v1 => ObjectOf c v2 => ObjectOf c v3 => ObjectOf c (c v2 v3) => ObjectOf c (c v1 (c v2 v3)) => ObjectOf c (f (c v2 v3)) => ObjectOf c (f (c v1 (c v2 v3))) => ObjectOf c (f v0) => ObjectOf c (f v1) => ObjectOf c (f v2) => ObjectOf c (f v3) => ObjectOf c (c (f v2) (f v3)) => ObjectOf c (c (f v1) (c (f v2) (f v3))) => ObjectOf c (c (f v0) (c (f v1) (c (f v2) (f v3)))) => ObjectOf c (c (f v1) (f (c v2 v3))) => ObjectOf c (c (f v0) (c (f v1) (f (c v2 v3)))) => ObjectOf c (c (f v0) (f (c v1 (c v2 v3)))) => Restrictable Function c => Slackable c => c v0 (c v1 (c v2 v3)) -> c (f v0) (c (f v1) (c (f v2) (f v3)))

#lift4

lift4 :: forall c f v0 v1 v2 v3 v4. HasApply c f => HasMap c f => ObjectOf c v0 => ObjectOf c v1 => ObjectOf c v2 => ObjectOf c v3 => ObjectOf c v4 => ObjectOf c (c v3 v4) => ObjectOf c (c v2 (c v3 v4)) => ObjectOf c (c v1 (c v2 (c v3 v4))) => ObjectOf c (f (c v3 v4)) => ObjectOf c (f (c v2 (c v3 v4))) => ObjectOf c (f (c v1 (c v2 (c v3 v4)))) => ObjectOf c (f v0) => ObjectOf c (f v1) => ObjectOf c (f v2) => ObjectOf c (f v3) => ObjectOf c (f v4) => ObjectOf c (c (f v3) (f v4)) => ObjectOf c (c (f v2) (c (f v3) (f v4))) => ObjectOf c (c (f v1) (c (f v2) (c (f v3) (f v4)))) => ObjectOf c (c (f v0) (c (f v1) (c (f v2) (c (f v3) (f v4))))) => ObjectOf c (c (f v2) (f (c v3 v4))) => ObjectOf c (c (f v1) (c (f v2) (f (c v3 v4)))) => ObjectOf c (c (f v1) (f (c v2 (c v3 v4)))) => ObjectOf c (c (f v0) (c (f v1) (c (f v2) (f (c v3 v4))))) => ObjectOf c (c (f v0) (c (f v1) (f (c v2 (c v3 v4))))) => ObjectOf c (c (f v0) (f (c v1 (c v2 (c v3 v4))))) => Restrictable Function c => Slackable c => c v0 (c v1 (c v2 (c v3 v4))) -> c (f v0) (c (f v1) (c (f v2) (c (f v3) (f v4))))

#lift5

lift5 :: forall c f v0 v1 v2 v3 v4 v5. HasApply c f => HasMap c f => ObjectOf c v0 => ObjectOf c v1 => ObjectOf c v2 => ObjectOf c v3 => ObjectOf c v4 => ObjectOf c v5 => ObjectOf c (c v4 v5) => ObjectOf c (c v3 (c v4 v5)) => ObjectOf c (c v2 (c v3 (c v4 v5))) => ObjectOf c (c v1 (c v2 (c v3 (c v4 v5)))) => ObjectOf c (f (c v4 v5)) => ObjectOf c (f (c v3 (c v4 v5))) => ObjectOf c (f (c v2 (c v3 (c v4 v5)))) => ObjectOf c (f (c v1 (c v2 (c v3 (c v4 v5))))) => ObjectOf c (f v0) => ObjectOf c (f v1) => ObjectOf c (f v2) => ObjectOf c (f v3) => ObjectOf c (f v4) => ObjectOf c (f v5) => ObjectOf c (c (f v4) (f v5)) => ObjectOf c (c (f v3) (c (f v4) (f v5))) => ObjectOf c (c (f v2) (c (f v3) (c (f v4) (f v5)))) => ObjectOf c (c (f v1) (c (f v2) (c (f v3) (c (f v4) (f v5))))) => ObjectOf c (c (f v0) (c (f v1) (c (f v2) (c (f v3) (c (f v4) (f v5)))))) => ObjectOf c (c (f v3) (f (c v4 v5))) => ObjectOf c (f (c v3 (c v4 v5))) => ObjectOf c (c (f v2) (c (f v3) (f (c v4 v5)))) => ObjectOf c (c (f v2) (f (c v3 (c v4 v5)))) => ObjectOf c (c (f v1) (c (f v2) (c (f v3) (f (c v4 v5))))) => ObjectOf c (c (f v1) (c (f v2) (f (c v3 (c v4 v5))))) => ObjectOf c (c (f v1) (f (c v2 (c v3 (c v4 v5))))) => ObjectOf c (c (f v0) (c (f v1) (c (f v2) (c (f v3) (f (c v4 v5)))))) => ObjectOf c (c (f v0) (c (f v1) (c (f v2) (f (c v3 (c v4 v5)))))) => ObjectOf c (c (f v0) (c (f v1) (f (c v2 (c v3 (c v4 v5)))))) => ObjectOf c (c (f v0) (f (c v1 (c v2 (c v3 (c v4 v5)))))) => Restrictable Function c => Slackable c => c v0 (c v1 (c v2 (c v3 (c v4 v5)))) -> c (f v0) (c (f v1) (c (f v2) (c (f v3) (c (f v4) (f v5)))))

Modules