pandora-0.3.1: A box of patterns and paradigms

Safe HaskellSafe
LanguageHaskell2010

Pandora.Paradigm.Primary.Transformer.Construction

Documentation

data Construction t a Source #

Constructors

Construct a ((t :. Construction t) := a) 
Instances
(forall a. Chain a) => Insertable Binary Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

Methods

insert :: a -> Binary a -> Binary a Source #

Insertable Stack Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Stack

Methods

insert :: a -> Stack a -> Stack a Source #

Set Stack Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Stack

Methods

member :: Setoid a => a -> Stack a -> Boolean Source #

Lowerable Construction Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Methods

lower :: Covariant u => Construction u ~> u Source #

(forall a. Chain a) => Insertable (Construction Wye) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

Insertable (Construction Maybe) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Stack

Covariant t => Covariant (Construction t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Methods

(<$>) :: (a -> b) -> Construction t a -> Construction t b Source #

comap :: (a -> b) -> Construction t a -> Construction t b Source #

(<$) :: a -> Construction t b -> Construction t a Source #

($>) :: Construction t a -> b -> Construction t b Source #

void :: Construction t a -> Construction t () Source #

loeb :: Construction t (a <-| Construction t) -> Construction t a Source #

(<&>) :: Construction t a -> (a -> b) -> Construction t b Source #

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

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

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

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

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

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

Alternative t => Bindable (Construction t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Methods

(>>=) :: Construction t a -> (a -> Construction t b) -> Construction t b Source #

(=<<) :: (a -> Construction t b) -> Construction t a -> Construction t b Source #

bind :: (a -> Construction t b) -> Construction t a -> Construction t b Source #

join :: ((Construction t :. Construction t) := a) -> Construction t a Source #

(>=>) :: (a -> Construction t b) -> (b -> Construction t c) -> a -> Construction t c Source #

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

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

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

Applicative t => Applicative (Construction t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Methods

(<*>) :: Construction t (a -> b) -> Construction t a -> Construction t b Source #

apply :: Construction t (a -> b) -> Construction t a -> Construction t b Source #

(*>) :: Construction t a -> Construction t b -> Construction t b Source #

(<*) :: Construction t a -> Construction t b -> Construction t a Source #

forever :: Construction t a -> Construction t b Source #

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

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

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

Covariant t => Extendable (Construction t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Methods

(=>>) :: Construction t a -> (Construction t a -> b) -> Construction t b Source #

(<<=) :: (Construction t a -> b) -> Construction t a -> Construction t b Source #

extend :: (Construction t a -> b) -> Construction t a -> Construction t b Source #

duplicate :: Construction t a -> (Construction t :. Construction t) := a Source #

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

(=>=) :: (Construction t a -> b) -> (Construction t b -> c) -> Construction t a -> c Source #

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

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

Avoidable t => Pointable (Construction t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Methods

point :: a |-> Construction t Source #

(Avoidable t, Alternative t) => Monad (Construction t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Traversable t => Traversable (Construction t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Methods

(->>) :: (Pointable u, Applicative u) => Construction t a -> (a -> u b) -> (u :. Construction t) := b Source #

traverse :: (Pointable u, Applicative u) => (a -> u b) -> Construction t a -> (u :. Construction t) := b Source #

sequence :: (Pointable u, Applicative u) => ((Construction t :. u) := a) -> (u :. Construction t) := a Source #

(->>>) :: (Pointable u, Applicative u, Traversable v) => ((v :. Construction t) := a) -> (a -> u b) -> (u :. (v :. Construction t)) := b Source #

(->>>>) :: (Pointable u, Applicative u, Traversable v, Traversable w) => ((w :. (v :. Construction t)) := a) -> (a -> u b) -> (u :. (w :. (v :. Construction t))) := b Source #

(->>>>>) :: (Pointable u, Applicative u, Traversable v, Traversable w, Traversable j) => ((j :. (w :. (v :. Construction t))) := a) -> (a -> u b) -> (u :. (j :. (w :. (v :. Construction t)))) := b Source #

Semigroup (Stack a) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Stack

Methods

(+) :: Stack a -> Stack a -> Stack a Source #

Monoid (Stack a) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Stack

Methods

zero :: Stack a Source #

Covariant t => Extractable (Construction t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Covariant t => Comonad (Construction t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Setoid a => Setoid (Stack a) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Stack

Methods

(==) :: Stack a -> Stack a -> Boolean Source #

(/=) :: Stack a -> Stack a -> Boolean Source #

Hoistable Construction Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Methods

hoist :: Covariant u => (u ~> v) -> Construction u ~> Construction v Source #

Substructure (Left :: Type -> Wye Type) Binary Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

Associated Types

type Substructural Left Binary a :: Type Source #

Substructure (Right :: Type -> Wye Type) Binary Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

Associated Types

type Substructural Right Binary a :: Type Source #

Substructure (Just :: Type -> Maybe Type) Rose Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Rose

Associated Types

type Substructural Just Rose a :: Type Source #

(forall a. Chain a) => Focusable (Root :: Type -> Location Type) Binary Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

Associated Types

type Focusing Root Binary a :: Type Source #

Focusable (Root :: Type -> Location Type) Rose Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Rose

Associated Types

type Focusing Root Rose a :: Type Source #

Focusable (Head :: Type -> Location Type) Stack Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Stack

Associated Types

type Focusing Head Stack a :: Type Source #

Substructure (Left :: Type -> Wye Type) (Construction Wye) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

Associated Types

type Substructural Left (Construction Wye) a :: Type Source #

Substructure (Right :: Type -> Wye Type) (Construction Wye) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

Associated Types

type Substructural Right (Construction Wye) a :: Type Source #

Substructure (Just :: Type -> Maybe Type) (Construction Stack) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Rose

Associated Types

type Substructural Just (Construction Stack) a :: Type Source #

Focusable (Root :: Type -> Location Type) (Construction Wye) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

Associated Types

type Focusing Root (Construction Wye) a :: Type Source #

Focusable (Root :: Type -> Location Type) (Construction Stack) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Rose

Associated Types

type Focusing Root (Construction Stack) a :: Type Source #

Focusable (Head :: Type -> Location Type) (Construction Maybe) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Stack

Associated Types

type Focusing Head (Construction Maybe) a :: Type Source #

Rotatable (Right (Zig :: a -> Splay a) :: Wye (a -> Splay a)) (Construction Wye) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Splay

Rotatable (Left (Zig :: a -> Splay a) :: Wye (a -> Splay a)) (Construction Wye) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Splay

Rotatable (Right (Zig (Zag :: a -> Splay a)) :: Wye (Splay (a -> Splay a))) (Construction Wye) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Splay

Rotatable (Left (Zig (Zag :: a -> Splay a)) :: Wye (Splay (a -> Splay a))) (Construction Wye) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Splay

Rotatable (Right (Zig (Zig :: a -> Splay a)) :: Wye (Splay (a -> Splay a))) (Construction Wye) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Splay

Rotatable (Left (Zig (Zig :: a -> Splay a)) :: Wye (Splay (a -> Splay a))) (Construction Wye) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Splay

(Semigroup a, forall b. Semigroup b => Semigroup (t b)) => Semigroup (Construction t a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Methods

(+) :: Construction t a -> Construction t a -> Construction t a Source #

(Monoid a, forall b. Semigroup b => Monoid (t b)) => Monoid (Construction t a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Methods

zero :: Construction t a Source #

(Setoid a, forall b. Setoid b => Setoid (t b)) => Setoid (Construction t a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

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

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Methods

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

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

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

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

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

loeb :: (u <:.> Construction t) (a <-| (u <:.> Construction t)) -> (u <:.> Construction t) a Source #

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

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

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

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

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

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

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

Covariant (Delta <:.> Stack) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Stack

Methods

(<$>) :: (a -> b) -> (Delta <:.> Stack) a -> (Delta <:.> Stack) b Source #

comap :: (a -> b) -> (Delta <:.> Stack) a -> (Delta <:.> Stack) b Source #

(<$) :: a -> (Delta <:.> Stack) b -> (Delta <:.> Stack) a Source #

($>) :: (Delta <:.> Stack) a -> b -> (Delta <:.> Stack) b Source #

void :: (Delta <:.> Stack) a -> (Delta <:.> Stack) () Source #

loeb :: (Delta <:.> Stack) (a <-| (Delta <:.> Stack)) -> (Delta <:.> Stack) a Source #

(<&>) :: (Delta <:.> Stack) a -> (a -> b) -> (Delta <:.> Stack) b Source #

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

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

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

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

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

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

(Applicative t, Applicative u) => Applicative (u <:.> Construction t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Methods

(<*>) :: (u <:.> Construction t) (a -> b) -> (u <:.> Construction t) a -> (u <:.> Construction t) b Source #

apply :: (u <:.> Construction t) (a -> b) -> (u <:.> Construction t) a -> (u <:.> Construction t) b Source #

(*>) :: (u <:.> Construction t) a -> (u <:.> Construction t) b -> (u <:.> Construction t) b Source #

(<*) :: (u <:.> Construction t) a -> (u <:.> Construction t) b -> (u <:.> Construction t) a Source #

forever :: (u <:.> Construction t) a -> (u <:.> Construction t) b Source #

(<**>) :: Applicative u0 => (((u <:.> Construction t) :. u0) := (a -> b)) -> (((u <:.> Construction t) :. u0) := a) -> ((u <:.> Construction t) :. u0) := b Source #

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

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

(Covariant t, Alternative u) => Alternative (u <:.> Construction t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Methods

(<+>) :: (u <:.> Construction t) a -> (u <:.> Construction t) a -> (u <:.> Construction t) a Source #

alter :: (u <:.> Construction t) a -> (u <:.> Construction t) a -> (u <:.> Construction t) a Source #

(Covariant t, Avoidable u) => Avoidable (u <:.> Construction t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Methods

empty :: (u <:.> Construction t) a Source #

(Avoidable t, Pointable u) => Pointable (u <:.> Construction t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Methods

point :: a |-> (u <:.> Construction t) Source #

(Traversable t, Traversable u) => Traversable (u <:.> Construction t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Methods

(->>) :: (Pointable u0, Applicative u0) => (u <:.> Construction t) a -> (a -> u0 b) -> (u0 :. (u <:.> Construction t)) := b Source #

traverse :: (Pointable u0, Applicative u0) => (a -> u0 b) -> (u <:.> Construction t) a -> (u0 :. (u <:.> Construction t)) := b Source #

sequence :: (Pointable u0, Applicative u0) => (((u <:.> Construction t) :. u0) := a) -> (u0 :. (u <:.> Construction t)) := a Source #

(->>>) :: (Pointable u0, Applicative u0, Traversable v) => ((v :. (u <:.> Construction t)) := a) -> (a -> u0 b) -> (u0 :. (v :. (u <:.> Construction t))) := b Source #

(->>>>) :: (Pointable u0, Applicative u0, Traversable v, Traversable w) => ((w :. (v :. (u <:.> Construction t))) := a) -> (a -> u0 b) -> (u0 :. (w :. (v :. (u <:.> Construction t)))) := b Source #

(->>>>>) :: (Pointable u0, Applicative u0, Traversable v, Traversable w, Traversable j) => ((j :. (w :. (v :. (u <:.> Construction t)))) := a) -> (a -> u0 b) -> (u0 :. (j :. (w :. (v :. (u <:.> Construction t))))) := b Source #

type Nonempty Binary Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

type Nonempty Stack Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Stack

type Nonempty Rose Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Rose

type Zipper Stack Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Stack

type Substructural (Left :: Type -> Wye Type) Binary a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

type Substructural (Left :: Type -> Wye Type) Binary a = Binary a
type Substructural (Right :: Type -> Wye Type) Binary a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

type Substructural (Right :: Type -> Wye Type) Binary a = Binary a
type Substructural (Just :: Type -> Maybe Type) Rose a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Rose

type Substructural (Just :: Type -> Maybe Type) Rose a = (Stack :. Construction Stack) := a
type Focusing (Root :: Type -> Location Type) Binary a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

type Focusing (Root :: Type -> Location Type) Binary a = Maybe a
type Focusing (Root :: Type -> Location Type) Rose a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Rose

type Focusing (Root :: Type -> Location Type) Rose a = Maybe a
type Focusing (Head :: Type -> Location Type) Stack a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Stack

type Focusing (Head :: Type -> Location Type) Stack a = Maybe a
type Substructural (Left :: Type -> Wye Type) (Construction Wye) a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

type Substructural (Left :: Type -> Wye Type) (Construction Wye) a = (Maybe :. Construction Wye) := a
type Substructural (Right :: Type -> Wye Type) (Construction Wye) a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

type Substructural (Right :: Type -> Wye Type) (Construction Wye) a = (Maybe :. Construction Wye) := a
type Substructural (Just :: Type -> Maybe Type) (Construction Stack) a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Rose

type Focusing (Root :: Type -> Location Type) (Construction Wye) a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Binary

type Focusing (Root :: Type -> Location Type) (Construction Wye) a = a
type Focusing (Root :: Type -> Location Type) (Construction Stack) a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Rose

type Focusing (Root :: Type -> Location Type) (Construction Stack) a = a
type Focusing (Head :: Type -> Location Type) (Construction Maybe) a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Stack

type Focusing (Head :: Type -> Location Type) (Construction Maybe) a = a