semigroupoids-5.3.7: Semigroupoids: Category sans id
Copyright(C) 2011-2015 Edward Kmett
LicenseBSD-style (see the file LICENSE)
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityprovisional
Portabilitypolykinds
Safe HaskellTrustworthy
LanguageHaskell2010

Data.Semigroupoid.Static

Description

 

Documentation

newtype Static f a b Source #

Constructors

Static 

Fields

Instances

Instances details
Applicative f => Category (Static f :: Type -> Type -> Type) Source # 
Instance details

Defined in Data.Semigroupoid.Static

Methods

id :: forall (a :: k). Static f a a #

(.) :: forall (b :: k) (c :: k) (a :: k). Static f b c -> Static f a b -> Static f a c #

Apply f => Semigroupoid (Static f :: Type -> Type -> Type) Source # 
Instance details

Defined in Data.Semigroupoid.Static

Methods

o :: forall (j :: k) (k1 :: k) (i :: k). Static f j k1 -> Static f i j -> Static f i k1 Source #

Applicative f => Arrow (Static f) Source # 
Instance details

Defined in Data.Semigroupoid.Static

Methods

arr :: (b -> c) -> Static f b c #

first :: Static f b c -> Static f (b, d) (c, d) #

second :: Static f b c -> Static f (d, b) (d, c) #

(***) :: Static f b c -> Static f b' c' -> Static f (b, b') (c, c') #

(&&&) :: Static f b c -> Static f b c' -> Static f b (c, c') #

Applicative f => ArrowChoice (Static f) Source # 
Instance details

Defined in Data.Semigroupoid.Static

Methods

left :: Static f b c -> Static f (Either b d) (Either c d) #

right :: Static f b c -> Static f (Either d b) (Either d c) #

(+++) :: Static f b c -> Static f b' c' -> Static f (Either b b') (Either c c') #

(|||) :: Static f b d -> Static f c d -> Static f (Either b c) d #

Alternative f => ArrowPlus (Static f) Source # 
Instance details

Defined in Data.Semigroupoid.Static

Methods

(<+>) :: Static f b c -> Static f b c -> Static f b c #

Alternative f => ArrowZero (Static f) Source # 
Instance details

Defined in Data.Semigroupoid.Static

Methods

zeroArrow :: Static f b c #

Applicative f => Applicative (Static f a) Source # 
Instance details

Defined in Data.Semigroupoid.Static

Methods

pure :: a0 -> Static f a a0 #

(<*>) :: Static f a (a0 -> b) -> Static f a a0 -> Static f a b #

liftA2 :: (a0 -> b -> c) -> Static f a a0 -> Static f a b -> Static f a c #

(*>) :: Static f a a0 -> Static f a b -> Static f a b #

(<*) :: Static f a a0 -> Static f a b -> Static f a a0 #

Functor f => Functor (Static f a) Source # 
Instance details

Defined in Data.Semigroupoid.Static

Methods

fmap :: (a0 -> b) -> Static f a a0 -> Static f a b #

(<$) :: a0 -> Static f a b -> Static f a a0 #

(Comonad f, Monoid a) => Comonad (Static f a) Source # 
Instance details

Defined in Data.Semigroupoid.Static

Methods

extract :: Static f a a0 -> a0 #

duplicate :: Static f a a0 -> Static f a (Static f a a0) #

extend :: (Static f a a0 -> b) -> Static f a a0 -> Static f a b #

Alt f => Alt (Static f a) Source # 
Instance details

Defined in Data.Semigroupoid.Static

Methods

(<!>) :: Static f a a0 -> Static f a a0 -> Static f a a0 Source #

some :: Applicative (Static f a) => Static f a a0 -> Static f a [a0] Source #

many :: Applicative (Static f a) => Static f a a0 -> Static f a [a0] Source #

Apply f => Apply (Static f a) Source # 
Instance details

Defined in Data.Semigroupoid.Static

Methods

(<.>) :: Static f a (a0 -> b) -> Static f a a0 -> Static f a b Source #

(.>) :: Static f a a0 -> Static f a b -> Static f a b Source #

(<.) :: Static f a a0 -> Static f a b -> Static f a a0 Source #

liftF2 :: (a0 -> b -> c) -> Static f a a0 -> Static f a b -> Static f a c Source #

(Extend f, Semigroup a) => Extend (Static f a) Source # 
Instance details

Defined in Data.Semigroupoid.Static

Methods

duplicated :: Static f a a0 -> Static f a (Static f a a0) Source #

extended :: (Static f a a0 -> b) -> Static f a a0 -> Static f a b Source #

Plus f => Plus (Static f a) Source # 
Instance details

Defined in Data.Semigroupoid.Static

Methods

zero :: Static f a a0 Source #