pandora-0.3.7: A box of patterns and paradigms
Safe HaskellSafe-Inferred
LanguageHaskell2010

Pandora.Paradigm.Primary.Functor.Function

Documentation

(!) :: a -> b -> a infixr 2 Source #

(%) :: (a -> b -> c) -> b -> a -> c infixr 9 Source #

(&) :: a -> (a -> b) -> b infixl 1 Source #

fix :: (a -> a) -> a Source #

Orphan instances

Covariant ((->) a :: Type -> Type) Source # 
Instance details

Methods

(<$>) :: (a0 -> b) -> (a -> a0) -> a -> b Source #

comap :: (a0 -> b) -> (a -> a0) -> a -> b Source #

(<$) :: a0 -> (a -> b) -> a -> a0 Source #

($>) :: (a -> a0) -> b -> a -> b Source #

void :: (a -> a0) -> a -> () Source #

loeb :: (a -> (a0 <:= (->) a)) -> a -> a0 Source #

(<&>) :: (a -> a0) -> (a0 -> b) -> a -> b Source #

(<$$>) :: Covariant u => (a0 -> b) -> (((->) a :. u) := a0) -> ((->) a :. u) := b Source #

(<$$$>) :: (Covariant u, Covariant v) => (a0 -> b) -> (((->) a :. (u :. v)) := a0) -> ((->) a :. (u :. v)) := b Source #

(<$$$$>) :: (Covariant u, Covariant v, Covariant w) => (a0 -> b) -> (((->) a :. (u :. (v :. w))) := a0) -> ((->) a :. (u :. (v :. w))) := b Source #

(<&&>) :: Covariant u => (((->) a :. u) := a0) -> (a0 -> b) -> ((->) a :. u) := b Source #

(<&&&>) :: (Covariant u, Covariant v) => (((->) a :. (u :. v)) := a0) -> (a0 -> b) -> ((->) a :. (u :. v)) := b Source #

(<&&&&>) :: (Covariant u, Covariant v, Covariant w) => (((->) a :. (u :. (v :. w))) := a0) -> (a0 -> b) -> ((->) a :. (u :. (v :. w))) := b Source #

Bindable ((->) e :: Type -> Type) Source # 
Instance details

Methods

(>>=) :: (e -> a) -> (a -> e -> b) -> e -> b Source #

(=<<) :: (a -> e -> b) -> (e -> a) -> e -> b Source #

bind :: (a -> e -> b) -> (e -> a) -> e -> b Source #

join :: (((->) e :. (->) e) := a) -> e -> a Source #

(>=>) :: (a -> e -> b) -> (b -> e -> c) -> a -> e -> c Source #

(<=<) :: (b -> e -> c) -> (a -> e -> b) -> a -> e -> c Source #

($>>=) :: Covariant u => ((u :. (->) e) := a) -> (a -> e -> b) -> (u :. (->) e) := b Source #

Applicative ((->) e :: Type -> Type) Source # 
Instance details

Methods

(<*>) :: (e -> (a -> b)) -> (e -> a) -> e -> b Source #

apply :: (e -> (a -> b)) -> (e -> a) -> e -> b Source #

(*>) :: (e -> a) -> (e -> b) -> e -> b Source #

(<*) :: (e -> a) -> (e -> b) -> e -> a Source #

forever :: (e -> a) -> e -> b Source #

(<**>) :: Applicative u => (((->) e :. u) := (a -> b)) -> (((->) e :. u) := a) -> ((->) e :. u) := b Source #

(<***>) :: (Applicative u, Applicative v) => (((->) e :. (u :. v)) := (a -> b)) -> (((->) e :. (u :. v)) := a) -> ((->) e :. (u :. v)) := b Source #

(<****>) :: (Applicative u, Applicative v, Applicative w) => (((->) e :. (u :. (v :. w))) := (a -> b)) -> (((->) e :. (u :. (v :. w))) := a) -> ((->) e :. (u :. (v :. w))) := b Source #

Distributive ((->) e :: Type -> Type) Source # 
Instance details

Methods

(>>-) :: Covariant u => u a -> (a -> e -> b) -> ((->) e :. u) := b Source #

collect :: Covariant u => (a -> e -> b) -> u a -> ((->) e :. u) := b Source #

distribute :: Covariant u => ((u :. (->) e) := a) -> ((->) e :. u) := a Source #

(>>>-) :: (Covariant u, Covariant v) => ((u :. v) := a) -> (a -> e -> b) -> ((->) e :. (u :. v)) := b Source #

(>>>>-) :: (Covariant u, Covariant v, Covariant w) => ((u :. (v :. w)) := a) -> (a -> e -> b) -> ((->) e :. (u :. (v :. w))) := b Source #

(>>>>>-) :: (Covariant u, Covariant v, Covariant w, Covariant j) => ((u :. (v :. (w :. j))) := a) -> (a -> e -> b) -> ((->) e :. (u :. (v :. (w :. j)))) := b Source #

Pointable ((->) e :: Type -> Type) Source # 
Instance details

Methods

point :: a :=> (->) e Source #

Representable ((->) e :: Type -> Type) Source # 
Instance details

Associated Types

type Representation ((->) e) Source #

Methods

(<#>) :: Representation ((->) e) -> a <:= (->) e Source #

tabulate :: (Representation ((->) e) -> a) -> e -> a Source #

index :: (e -> a) -> Representation ((->) e) -> a Source #