Data.Semigroupoid.Static

semigroupoids-5.1: Semigroupoids: Category sans id

Copyright | (C) 2011-2015 Edward Kmett
License | BSD-style (see the file LICENSE)
Maintainer | Edward Kmett <ekmett@gmail.com>
Stability | provisional
Portability | polykinds
Safe Haskell | Safe
Language | Haskell98

Data.Semigroupoid.Static

Description

# Documentation

newtype Static f a b #

Constructors

Static |
Fields runStatic :: f (a -> b)

Instances

Applicative f => Arrow (Static f) # |
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') #
Alternative f => ArrowZero (Static f) # |
Methods zeroArrow :: Static f b c #
Alternative f => ArrowPlus (Static f) # |
Methods (<+>) :: Static f b c -> Static f b c -> Static f b c #
Applicative f => ArrowChoice (Static f) # |
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 #
Applicative f => Category * (Static f) # |
Methods id :: cat a a # (.) :: cat b c -> cat a b -> cat a c #
Apply f => Semigroupoid * (Static f) # |
Methods o :: c j k -> c i j -> c i k #
Functor f => Functor (Static f a) # |
Methods fmap :: (a -> b) -> Static f a a -> Static f a b # (<$) :: a -> Static f a b -> Static f a a #
Applicative f => Applicative (Static f a) # |
Methods pure :: a -> Static f a a # (<*>) :: Static f a (a -> b) -> Static f a a -> Static f a b # (*>) :: Static f a a -> Static f a b -> Static f a b # (<*) :: Static f a a -> Static f a b -> Static f a a #
(Comonad f, Monoid a) => Comonad (Static f a) # |
Methods extract :: Static f a a -> a # duplicate :: Static f a a -> Static f a (Static f a a) # extend :: (Static f a a -> b) -> Static f a a -> Static f a b #
(Extend f, Semigroup a) => Extend (Static f a) # |
Methods duplicated :: Static f a a -> Static f a (Static f a a) # extended :: (Static f a a -> b) -> Static f a a -> Static f a b #
Apply f => Apply (Static f a) # |
Methods (<.>) :: Static f a (a -> b) -> Static f a a -> Static f a b # (.>) :: Static f a a -> Static f a b -> Static f a b # (<.) :: Static f a a -> Static f a b -> Static f a a #
Alt f => Alt (Static f a) # |
Methods (<!>) :: Static f a a -> Static f a a -> Static f a a # some :: Applicative (Static f a) => Static f a a -> Static f a [a] # many :: Applicative (Static f a) => Static f a a -> Static f a [a] #
Plus f => Plus (Static f a) # |
Methods zero :: Static f a a #