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

Pandora.Paradigm.Schemes.T_U

Documentation

newtype T_U ct cu p t u a Source #

Constructors

T_U (p (t a) (u a)) 

Instances

Instances details
Extendable (Tap ((Stream <:.:> Stream) := (:*:))) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.Stream

Extendable (Tap ((List <:.:> List) := (:*:))) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

Methods

(=>>) :: Tap ((List <:.:> List) := (:*:)) a -> (Tap ((List <:.:> List) := (:*:)) a -> b) -> Tap ((List <:.:> List) := (:*:)) b Source #

(<<=) :: (Tap ((List <:.:> List) := (:*:)) a -> b) -> Tap ((List <:.:> List) := (:*:)) a -> Tap ((List <:.:> List) := (:*:)) b Source #

extend :: (Tap ((List <:.:> List) := (:*:)) a -> b) -> Tap ((List <:.:> List) := (:*:)) a -> Tap ((List <:.:> List) := (:*:)) b Source #

duplicate :: Tap ((List <:.:> List) := (:*:)) a -> (Tap ((List <:.:> List) := (:*:)) :. Tap ((List <:.:> List) := (:*:))) := a Source #

(=<=) :: (Tap ((List <:.:> List) := (:*:)) b -> c) -> (Tap ((List <:.:> List) := (:*:)) a -> b) -> Tap ((List <:.:> List) := (:*:)) a -> c Source #

(=>=) :: (Tap ((List <:.:> List) := (:*:)) a -> b) -> (Tap ((List <:.:> List) := (:*:)) b -> c) -> Tap ((List <:.:> List) := (:*:)) a -> c Source #

($=>>) :: Covariant u => ((u :. Tap ((List <:.:> List) := (:*:))) := a) -> (Tap ((List <:.:> List) := (:*:)) a -> b) -> (u :. Tap ((List <:.:> List) := (:*:))) := b Source #

(<<=$) :: Covariant u => ((u :. Tap ((List <:.:> List) := (:*:))) := a) -> (Tap ((List <:.:> List) := (:*:)) a -> b) -> (u :. Tap ((List <:.:> List) := (:*:))) := b Source #

Traversable (Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:))) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

Traversable (Tap ((List <:.:> List) := (:*:))) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

Methods

(->>) :: (Pointable u, Applicative u) => Tap ((List <:.:> List) := (:*:)) a -> (a -> u b) -> (u :. Tap ((List <:.:> List) := (:*:))) := b Source #

traverse :: (Pointable u, Applicative u) => (a -> u b) -> Tap ((List <:.:> List) := (:*:)) a -> (u :. Tap ((List <:.:> List) := (:*:))) := b Source #

sequence :: (Pointable u, Applicative u) => ((Tap ((List <:.:> List) := (:*:)) :. u) := a) -> (u :. Tap ((List <:.:> List) := (:*:))) := a Source #

(->>>) :: (Pointable u, Applicative u, Traversable v) => ((v :. Tap ((List <:.:> List) := (:*:))) := a) -> (a -> u b) -> (u :. (v :. Tap ((List <:.:> List) := (:*:)))) := b Source #

(->>>>) :: (Pointable u, Applicative u, Traversable v, Traversable w) => ((w :. (v :. Tap ((List <:.:> List) := (:*:)))) := a) -> (a -> u b) -> (u :. (w :. (v :. Tap ((List <:.:> List) := (:*:))))) := b Source #

(->>>>>) :: (Pointable u, Applicative u, Traversable v, Traversable w, Traversable j) => ((j :. (w :. (v :. Tap ((List <:.:> List) := (:*:))))) := a) -> (a -> u b) -> (u :. (j :. (w :. (v :. Tap ((List <:.:> List) := (:*:)))))) := b Source #

Focusable ('Head :: Type -> Location Type) (Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:))) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

Focusable ('Head :: Type -> Location Type) (Tap ((List <:.:> List) := (:*:))) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

Associated Types

type Focusing 'Head (Tap ((List <:.:> List) := (:*:))) a Source #

Morphable ('Into (Tap ((List <:.:> List) := (:*:)))) List Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

Associated Types

type Morphing ('Into (Tap ((List <:.:> List) := (:*:)))) List :: Type -> Type Source #

Morphable ('Into (Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:)))) (Tap ((List <:.:> List) := (:*:))) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

Associated Types

type Morphing ('Into (Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:)))) (Tap ((List <:.:> List) := (:*:))) :: Type -> Type Source #

Morphable ('Into (Tap ((List <:.:> List) := (:*:)))) (Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:))) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

Associated Types

type Morphing ('Into (Tap ((List <:.:> List) := (:*:)))) (Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:))) :: Type -> Type Source #

Morphable ('Into (Tap ((List <:.:> List) := (:*:)))) (Construction Maybe) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

Associated Types

type Morphing ('Into (Tap ((List <:.:> List) := (:*:)))) (Construction Maybe) :: Type -> Type Source #

Morphable ('Into (Construction Maybe)) (Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:))) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

Associated Types

type Morphing ('Into (Construction Maybe)) (Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:))) :: Type -> Type Source #

Morphable ('Into List) (Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:))) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

Associated Types

type Morphing ('Into List) (Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:))) :: Type -> Type Source #

Morphable ('Into List) (Tap ((List <:.:> List) := (:*:))) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

Associated Types

type Morphing ('Into List) (Tap ((List <:.:> List) := (:*:))) :: Type -> Type Source #

Morphable ('Rotate ('Right :: a -> Wye a) :: Morph (a -> Wye a)) (Tap ((Stream <:.:> Stream) := (:*:))) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.Stream

Associated Types

type Morphing ('Rotate 'Right) (Tap ((Stream <:.:> Stream) := (:*:))) :: Type -> Type Source #

Morphable ('Rotate ('Left :: a -> Wye a) :: Morph (a -> Wye a)) (Tap ((Stream <:.:> Stream) := (:*:))) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.Stream

Associated Types

type Morphing ('Rotate 'Left) (Tap ((Stream <:.:> Stream) := (:*:))) :: Type -> Type Source #

Morphable ('Rotate ('Right :: a -> Wye a) :: Morph (a -> Wye a)) (Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:))) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

Associated Types

type Morphing ('Rotate 'Right) (Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:))) :: Type -> Type Source #

Morphable ('Rotate ('Left :: a -> Wye a) :: Morph (a -> Wye a)) (Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:))) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

Associated Types

type Morphing ('Rotate 'Left) (Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:))) :: Type -> Type Source #

Morphable ('Rotate ('Right :: a -> Wye a) :: Morph (a -> Wye a)) (Tap ((List <:.:> List) := (:*:))) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

Associated Types

type Morphing ('Rotate 'Right) (Tap ((List <:.:> List) := (:*:))) :: Type -> Type Source #

Morphable ('Rotate ('Left :: a -> Wye a) :: Morph (a -> Wye a)) (Tap ((List <:.:> List) := (:*:))) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

Associated Types

type Morphing ('Rotate 'Left) (Tap ((List <:.:> List) := (:*:))) :: Type -> Type Source #

Morphable ('Into Wye) ((Maybe <:.:> Maybe) := (:*:)) Source # 
Instance details

Defined in Pandora.Paradigm.Primary

Associated Types

type Morphing ('Into Wye) ((Maybe <:.:> Maybe) := (:*:)) :: Type -> Type Source #

Morphable ('Rotate ('Up :: a -> Vertical a) :: Morph (a -> Vertical a)) ((Construction Wye <:.:> (Bifurcation <:.> Bicursor)) := (:*:)) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.Binary

Associated Types

type Morphing ('Rotate 'Up) ((Construction Wye <:.:> (Bifurcation <:.> Bicursor)) := (:*:)) :: Type -> Type Source #

Morphable ('Rotate ('Down ('Right :: a -> Wye a)) :: Morph (Vertical (a -> Wye a))) ((Construction Wye <:.:> (Bifurcation <:.> Bicursor)) := (:*:)) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.Binary

Associated Types

type Morphing ('Rotate ('Down 'Right)) ((Construction Wye <:.:> (Bifurcation <:.> Bicursor)) := (:*:)) :: Type -> Type Source #

Morphable ('Rotate ('Down ('Left :: a -> Wye a)) :: Morph (Vertical (a -> Wye a))) ((Construction Wye <:.:> (Bifurcation <:.> Bicursor)) := (:*:)) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.Binary

Associated Types

type Morphing ('Rotate ('Down 'Left)) ((Construction Wye <:.:> (Bifurcation <:.> Bicursor)) := (:*:)) :: Type -> Type Source #

(Bivariant p, Contravariant t, Contravariant u) => Contravariant ((t >:.:< u) := p) Source # 
Instance details

Defined in Pandora.Paradigm.Schemes.T_U

Methods

(>$<) :: (a -> b) -> ((t >:.:< u) := p) b -> ((t >:.:< u) := p) a Source #

contramap :: (a -> b) -> ((t >:.:< u) := p) b -> ((t >:.:< u) := p) a Source #

(>$) :: b -> ((t >:.:< u) := p) b -> ((t >:.:< u) := p) a Source #

($<) :: ((t >:.:< u) := p) b -> b -> ((t >:.:< u) := p) a Source #

full :: ((t >:.:< u) := p) () -> ((t >:.:< u) := p) a Source #

(>&<) :: ((t >:.:< u) := p) b -> (a -> b) -> ((t >:.:< u) := p) a Source #

(>$$<) :: Contravariant u0 => (a -> b) -> ((((t >:.:< u) := p) :. u0) := a) -> (((t >:.:< u) := p) :. u0) := b Source #

(>$$$<) :: (Contravariant u0, Contravariant v) => (a -> b) -> ((((t >:.:< u) := p) :. (u0 :. v)) := b) -> (((t >:.:< u) := p) :. (u0 :. v)) := a Source #

(>$$$$<) :: (Contravariant u0, Contravariant v, Contravariant w) => (a -> b) -> ((((t >:.:< u) := p) :. (u0 :. (v :. w))) := a) -> (((t >:.:< u) := p) :. (u0 :. (v :. w))) := b Source #

(>&&<) :: Contravariant u0 => ((((t >:.:< u) := p) :. u0) := a) -> (a -> b) -> (((t >:.:< u) := p) :. u0) := b Source #

(>&&&<) :: (Contravariant u0, Contravariant v) => ((((t >:.:< u) := p) :. (u0 :. v)) := b) -> (a -> b) -> (((t >:.:< u) := p) :. (u0 :. v)) := a Source #

(>&&&&<) :: (Contravariant u0, Contravariant v, Contravariant w) => ((((t >:.:< u) := p) :. (u0 :. (v :. w))) := a) -> (a -> b) -> (((t >:.:< u) := p) :. (u0 :. (v :. w))) := b Source #

(Divariant p, Contravariant t, Covariant u) => Covariant ((t >:.:> u) := p) Source # 
Instance details

Defined in Pandora.Paradigm.Schemes.T_U

Methods

(<$>) :: (a -> b) -> ((t >:.:> u) := p) a -> ((t >:.:> u) := p) b Source #

comap :: (a -> b) -> ((t >:.:> u) := p) a -> ((t >:.:> u) := p) b Source #

(<$) :: a -> ((t >:.:> u) := p) b -> ((t >:.:> u) := p) a Source #

($>) :: ((t >:.:> u) := p) a -> b -> ((t >:.:> u) := p) b Source #

void :: ((t >:.:> u) := p) a -> ((t >:.:> u) := p) () Source #

loeb :: ((t >:.:> u) := p) (a <:= ((t >:.:> u) := p)) -> ((t >:.:> u) := p) a Source #

(<&>) :: ((t >:.:> u) := p) a -> (a -> b) -> ((t >:.:> u) := p) b Source #

(<$$>) :: Covariant u0 => (a -> b) -> ((((t >:.:> u) := p) :. u0) := a) -> (((t >:.:> u) := p) :. u0) := b Source #

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

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

(<&&>) :: Covariant u0 => ((((t >:.:> u) := p) :. u0) := a) -> (a -> b) -> (((t >:.:> u) := p) :. u0) := b Source #

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

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

(Bivariant p, Covariant t, Covariant u) => Covariant ((t <:.:> u) := p) Source # 
Instance details

Defined in Pandora.Paradigm.Schemes.T_U

Methods

(<$>) :: (a -> b) -> ((t <:.:> u) := p) a -> ((t <:.:> u) := p) b Source #

comap :: (a -> b) -> ((t <:.:> u) := p) a -> ((t <:.:> u) := p) b Source #

(<$) :: a -> ((t <:.:> u) := p) b -> ((t <:.:> u) := p) a Source #

($>) :: ((t <:.:> u) := p) a -> b -> ((t <:.:> u) := p) b Source #

void :: ((t <:.:> u) := p) a -> ((t <:.:> u) := p) () Source #

loeb :: ((t <:.:> u) := p) (a <:= ((t <:.:> u) := p)) -> ((t <:.:> u) := p) a Source #

(<&>) :: ((t <:.:> u) := p) a -> (a -> b) -> ((t <:.:> u) := p) b Source #

(<$$>) :: Covariant u0 => (a -> b) -> ((((t <:.:> u) := p) :. u0) := a) -> (((t <:.:> u) := p) :. u0) := b Source #

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

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

(<&&>) :: Covariant u0 => ((((t <:.:> u) := p) :. u0) := a) -> (a -> b) -> (((t <:.:> u) := p) :. u0) := b Source #

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

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

Interpreted (T_U ct cu p t u) Source # 
Instance details

Defined in Pandora.Paradigm.Schemes.T_U

Associated Types

type Primary (T_U ct cu p t u) a Source #

Methods

run :: T_U ct cu p t u a -> Primary (T_U ct cu p t u) a Source #

unite :: Primary (T_U ct cu p t u) a -> T_U ct cu p t u a Source #

(||=) :: Interpreted u0 => (Primary (T_U ct cu p t u) a -> Primary u0 b) -> T_U ct cu p t u a -> u0 b Source #

(=||) :: Interpreted u0 => (T_U ct cu p t u a -> u0 b) -> Primary (T_U ct cu p t u) a -> Primary u0 b Source #

type Focusing ('Head :: Type -> Location Type) (Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:))) a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

type Focusing ('Head :: Type -> Location Type) (Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:))) a = a
type Focusing ('Head :: Type -> Location Type) (Tap ((List <:.:> List) := (:*:))) a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

type Focusing ('Head :: Type -> Location Type) (Tap ((List <:.:> List) := (:*:))) a = a
type Morphing ('Into (Tap ((List <:.:> List) := (:*:)))) List Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

type Morphing ('Into (Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:)))) (Tap ((List <:.:> List) := (:*:))) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

type Morphing ('Into (Tap ((List <:.:> List) := (:*:)))) (Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:))) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

type Morphing ('Into (Tap ((List <:.:> List) := (:*:)))) (Construction Maybe) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

type Morphing ('Into (Construction Maybe)) (Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:))) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

type Morphing ('Into List) (Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:))) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

type Morphing ('Into List) (Tap ((List <:.:> List) := (:*:))) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

type Morphing ('Rotate ('Right :: a -> Wye a) :: Morph (a -> Wye a)) (Tap ((Stream <:.:> Stream) := (:*:))) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.Stream

type Morphing ('Rotate ('Right :: a -> Wye a) :: Morph (a -> Wye a)) (Tap ((Stream <:.:> Stream) := (:*:))) = Tap ((Stream <:.:> Stream) := (:*:))
type Morphing ('Rotate ('Left :: a -> Wye a) :: Morph (a -> Wye a)) (Tap ((Stream <:.:> Stream) := (:*:))) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.Stream

type Morphing ('Rotate ('Left :: a -> Wye a) :: Morph (a -> Wye a)) (Tap ((Stream <:.:> Stream) := (:*:))) = Tap ((Stream <:.:> Stream) := (:*:))
type Morphing ('Rotate ('Right :: a -> Wye a) :: Morph (a -> Wye a)) (Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:))) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

type Morphing ('Rotate ('Left :: a -> Wye a) :: Morph (a -> Wye a)) (Tap ((Construction Maybe <:.:> Construction Maybe) := (:*:))) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

type Morphing ('Rotate ('Right :: a -> Wye a) :: Morph (a -> Wye a)) (Tap ((List <:.:> List) := (:*:))) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

type Morphing ('Rotate ('Right :: a -> Wye a) :: Morph (a -> Wye a)) (Tap ((List <:.:> List) := (:*:))) = Maybe <:.> Zipper List
type Morphing ('Rotate ('Left :: a -> Wye a) :: Morph (a -> Wye a)) (Tap ((List <:.:> List) := (:*:))) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.List

type Morphing ('Rotate ('Left :: a -> Wye a) :: Morph (a -> Wye a)) (Tap ((List <:.:> List) := (:*:))) = Maybe <:.> Zipper List
type Morphing ('Into Wye) ((Maybe <:.:> Maybe) := (:*:)) Source # 
Instance details

Defined in Pandora.Paradigm.Primary

type Morphing ('Rotate ('Up :: a -> Vertical a) :: Morph (a -> Vertical a)) ((Construction Wye <:.:> (Bifurcation <:.> Bicursor)) := (:*:)) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.Binary

type Morphing ('Rotate ('Down ('Right :: a -> Wye a)) :: Morph (Vertical (a -> Wye a))) ((Construction Wye <:.:> (Bifurcation <:.> Bicursor)) := (:*:)) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.Binary

type Morphing ('Rotate ('Down ('Left :: a -> Wye a)) :: Morph (Vertical (a -> Wye a))) ((Construction Wye <:.:> (Bifurcation <:.> Bicursor)) := (:*:)) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.Binary

type Primary (T_U ct cu p t u) a Source # 
Instance details

Defined in Pandora.Paradigm.Schemes.T_U

type Primary (T_U ct cu p t u) a = p (t a) (u a)

type (<:.:>) t u p = T_U Covariant Covariant p t u infixr 2 Source #

type (>:.:>) t u p = T_U Contravariant Covariant p t u infixr 2 Source #

type (<:.:<) t u p = T_U Covariant Contravariant p t u infixr 2 Source #

type (>:.:<) t u p = T_U Contravariant Contravariant p t u infixr 2 Source #