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

Pandora.Core.Functor

Synopsis
  • type (:=) t a = t a
  • type (:.) t u a = t (u a)
  • type (.:) t u a = u (t a)
  • type (:=>) a t = a -> t a
  • type (:=:=>) a t = a -> t a -> t a
  • type (<:=) a t = t a -> a
  • type (~>) t u = forall a. t a -> u a
  • type (~~>) t u = forall a b. t a b -> u a b
  • type (::|:.) p a b = p (p a b) b
  • type (::|.:) p a b = p a (p a b)
  • type (::|::) p a b = p (p a b) (p a b)
  • data t ::: u :: k -> k' -> *

Documentation

type (:=) t a = t a infixr 0 Source #

Parameter application

type (:.) t u a = t (u a) infixr 1 Source #

Functors composition

type (.:) t u a = u (t a) infixr 1 Source #

Flipped functors composition

type (:=>) a t = a -> t a infixr 0 Source #

Coalgebra's type operator

type (:=:=>) a t = a -> t a -> t a infixr 0 Source #

type (<:=) a t = t a -> a infixr 0 Source #

Algebra's type operator

type (~>) t u = forall a. t a -> u a infixr 0 Source #

Natural transformation

type (~~>) t u = forall a b. t a b -> u a b Source #

type (::|:.) p a b = p (p a b) b infixr 2 Source #

type (::|.:) p a b = p a (p a b) infixr 2 Source #

type (::|::) p a b = p (p a b) (p a b) infixr 2 Source #

data t ::: u :: k -> k' -> * infixr 9 Source #

Instances

Instances details
type Zipper List (('Left :: a1 -> Wye a1) ::: ('Right :: a2 -> Wye a2) :: k -> k' -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

type Zipper List (('Left :: a1 -> Wye a1) ::: ('Right :: a2 -> Wye a2) :: k -> k' -> Type) = Tap ((List <:.:> List) := (:*:))
type Zipper (Construction Identity) (('Left :: a1 -> Wye a1) ::: ('Right :: a2 -> Wye a2) :: k -> k' -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.Stream

type Zipper (Construction Identity) (('Left :: a1 -> Wye a1) ::: ('Right :: a2 -> Wye a2) :: k -> k' -> Type) = Tap ((Stream <:.:> Stream) := (:*:))
type Zipper (Comprehension Maybe) (('Left :: a1 -> Wye a1) ::: ('Right :: a2 -> Wye a2) :: k -> k' -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

type Zipper (Comprehension Maybe) (('Left :: a1 -> Wye a1) ::: ('Right :: a2 -> Wye a2) :: k -> k' -> Type) = Tap ((Comprehension Maybe <:.:> Comprehension Maybe) := (:*:))
type Zipper (Construction Maybe) (('Left :: a1 -> Wye a1) ::: ('Right :: a2 -> Wye a2) :: k -> k' -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

type Zipper (Construction Maybe) (('Left :: a1 -> Wye a1) ::: ('Right :: a2 -> Wye a2) :: k -> k' -> Type) = Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:))
type Zipper (Construction Wye) (('Up :: a1 -> Vertical a1) ::: ('Down ('Left :: a2 -> Wye a2) ::: 'Down ('Right :: a3 -> Wye a3) :: k2 -> k'2 -> Type) :: k1 -> k'1 -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.Binary

type Zipper (Construction Wye) (('Up :: a1 -> Vertical a1) ::: ('Down ('Left :: a2 -> Wye a2) ::: 'Down ('Right :: a3 -> Wye a3) :: k2 -> k'2 -> Type) :: k1 -> k'1 -> Type) = (Construction Wye <:.:> (Bifurcation <:.> Bicursor)) := (:*:)