Pandora.Paradigm.Primary.Functor.Wye
data Wye a Source #
Constructors
Defined in Pandora.Paradigm.Primary.Functor.Wye
Methods
reduce :: (a -> r -> r) -> r -> Wye a -> r Source #
resolve :: (a -> r) -> r -> Wye a -> r Source #
(+) :: Wye a -> Wye a -> Wye a Source #
zero :: Wye a Source #
Defined in Pandora.Paradigm.Structure.Some.Binary
Associated Types
type Breadcrumbs (Construction Wye) :: Type -> Type Source #
null :: forall (a :: k). (Predicate :. Binary) := a Source #
mult :: forall (a :: k) (b :: k). (Wye a :*: Wye b) <-- Wye (a :*: b) Source #
Defined in Pandora.Paradigm.Structure
type Morphing ('Into (o ds)) Binary :: Type -> Type Source #
morphing :: (Tagged ('Into (o ds)) <:.> Binary) ~> Morphing ('Into (o ds)) Binary Source #
Defined in Pandora.Paradigm.Primary
type Morphing ('Into ('Left Maybe)) Wye :: Type -> Type Source #
morphing :: (Tagged ('Into ('Left Maybe)) <:.> Wye) ~> Morphing ('Into ('Left Maybe)) Wye Source #
type Morphing ('Into ('Right Maybe)) Wye :: Type -> Type Source #
morphing :: (Tagged ('Into ('Right Maybe)) <:.> Wye) ~> Morphing ('Into ('Right Maybe)) Wye Source #
Defined in Pandora.Paradigm.Structure.Some.Splay
type Morphing ('Rotate ('Right 'Zig)) Binary :: Type -> Type Source #
morphing :: (Tagged ('Rotate ('Right 'Zig)) <:.> Binary) ~> Morphing ('Rotate ('Right 'Zig)) Binary Source #
type Morphing ('Rotate ('Left 'Zig)) Binary :: Type -> Type Source #
morphing :: (Tagged ('Rotate ('Left 'Zig)) <:.> Binary) ~> Morphing ('Rotate ('Left 'Zig)) Binary Source #
type Morphing ('Rotate ('Right ('Zig 'Zag))) Binary :: Type -> Type Source #
morphing :: (Tagged ('Rotate ('Right ('Zig 'Zag))) <:.> Binary) ~> Morphing ('Rotate ('Right ('Zig 'Zag))) Binary Source #
type Morphing ('Rotate ('Left ('Zig 'Zag))) Binary :: Type -> Type Source #
morphing :: (Tagged ('Rotate ('Left ('Zig 'Zag))) <:.> Binary) ~> Morphing ('Rotate ('Left ('Zig 'Zag))) Binary Source #
type Morphing ('Rotate ('Right ('Zig 'Zig))) Binary :: Type -> Type Source #
morphing :: (Tagged ('Rotate ('Right ('Zig 'Zig))) <:.> Binary) ~> Morphing ('Rotate ('Right ('Zig 'Zig))) Binary Source #
type Morphing ('Rotate ('Left ('Zig 'Zig))) Binary :: Type -> Type Source #
morphing :: (Tagged ('Rotate ('Left ('Zig 'Zig))) <:.> Binary) ~> Morphing ('Rotate ('Left ('Zig 'Zig))) Binary Source #
type Morphing ('Into Binary) (Construction Wye) :: Type -> Type Source #
morphing :: (Tagged ('Into Binary) <:.> Construction Wye) ~> Morphing ('Into Binary) (Construction Wye) Source #
type Morphing ('Rotate ('Right 'Zig)) (Construction Wye) :: Type -> Type Source #
morphing :: (Tagged ('Rotate ('Right 'Zig)) <:.> Construction Wye) ~> Morphing ('Rotate ('Right 'Zig)) (Construction Wye) Source #
type Morphing ('Rotate ('Left 'Zig)) (Construction Wye) :: Type -> Type Source #
morphing :: (Tagged ('Rotate ('Left 'Zig)) <:.> Construction Wye) ~> Morphing ('Rotate ('Left 'Zig)) (Construction Wye) Source #
type Morphing ('Rotate ('Right ('Zig 'Zag))) (Construction Wye) :: Type -> Type Source #
morphing :: (Tagged ('Rotate ('Right ('Zig 'Zag))) <:.> Construction Wye) ~> Morphing ('Rotate ('Right ('Zig 'Zag))) (Construction Wye) Source #
type Morphing ('Rotate ('Left ('Zig 'Zag))) (Construction Wye) :: Type -> Type Source #
morphing :: (Tagged ('Rotate ('Left ('Zig 'Zag))) <:.> Construction Wye) ~> Morphing ('Rotate ('Left ('Zig 'Zag))) (Construction Wye) Source #
type Morphing ('Rotate ('Right ('Zig 'Zig))) (Construction Wye) :: Type -> Type Source #
morphing :: (Tagged ('Rotate ('Right ('Zig 'Zig))) <:.> Construction Wye) ~> Morphing ('Rotate ('Right ('Zig 'Zig))) (Construction Wye) Source #
type Morphing ('Rotate ('Left ('Zig 'Zig))) (Construction Wye) :: Type -> Type Source #
morphing :: (Tagged ('Rotate ('Left ('Zig 'Zig))) <:.> Construction Wye) ~> Morphing ('Rotate ('Left ('Zig 'Zig))) (Construction Wye) Source #
type Morphing ('Into ('Preorder (Construction Maybe))) (Construction Wye) :: Type -> Type Source #
morphing :: (Tagged ('Into ('Preorder (Construction Maybe))) <:.> Construction Wye) ~> Morphing ('Into ('Preorder (Construction Maybe))) (Construction Wye) Source #
type Morphing ('Into ('Inorder (Construction Maybe))) (Construction Wye) :: Type -> Type Source #
morphing :: (Tagged ('Into ('Inorder (Construction Maybe))) <:.> Construction Wye) ~> Morphing ('Into ('Inorder (Construction Maybe))) (Construction Wye) Source #
type Morphing ('Into ('Postorder (Construction Maybe))) (Construction Wye) :: Type -> Type Source #
morphing :: (Tagged ('Into ('Postorder (Construction Maybe))) <:.> Construction Wye) ~> Morphing ('Into ('Postorder (Construction Maybe))) (Construction Wye) Source #
type Morphing ('Lookup 'Key) (Prefixed (Construction Wye) key) :: Type -> Type Source #
morphing :: (Tagged ('Lookup 'Key) <:.> Prefixed (Construction Wye) key) ~> Morphing ('Lookup 'Key) (Prefixed (Construction Wye) key) Source #
type Morphing ('Vary 'Element) (Prefixed Binary k) :: Type -> Type Source #
morphing :: (Tagged ('Vary 'Element) <:.> Prefixed Binary k) ~> Morphing ('Vary 'Element) (Prefixed Binary k) Source #
type Morphing ('Lookup 'Key) (Prefixed Binary k) :: Type -> Type Source #
morphing :: (Tagged ('Lookup 'Key) <:.> Prefixed Binary k) ~> Morphing ('Lookup 'Key) (Prefixed Binary k) Source #
type Morphing ('Into Wye) ((Maybe <:.:> Maybe) := (:*:)) :: Type -> Type Source #
morphing :: (Tagged ('Into Wye) <:.> ((Maybe <:.:> Maybe) := (:*:))) ~> Morphing ('Into Wye) ((Maybe <:.:> Maybe) := (:*:)) Source #
Defined in Pandora.Paradigm.Structure.Some.Stream
type Morphing ('Rotate 'Right) ((Identity <:.:> ((Stream <:.:> Stream) := (:*:))) := (:*:)) :: Type -> Type Source #
morphing :: (Tagged ('Rotate 'Right) <:.> ((Identity <:.:> ((Stream <:.:> Stream) := (:*:))) := (:*:))) ~> Morphing ('Rotate 'Right) ((Identity <:.:> ((Stream <:.:> Stream) := (:*:))) := (:*:)) Source #
type Morphing ('Rotate 'Left) ((Identity <:.:> ((Stream <:.:> Stream) := (:*:))) := (:*:)) :: Type -> Type Source #
morphing :: (Tagged ('Rotate 'Left) <:.> ((Identity <:.:> ((Stream <:.:> Stream) := (:*:))) := (:*:))) ~> Morphing ('Rotate 'Left) ((Identity <:.:> ((Stream <:.:> Stream) := (:*:))) := (:*:)) Source #
Defined in Pandora.Paradigm.Structure.Some.List
type Morphing ('Rotate 'Right) ((Identity <:.:> ((Construction Maybe <:.:> Construction Maybe) := (:*:))) := (:*:)) :: Type -> Type Source #
morphing :: (Tagged ('Rotate 'Right) <:.> ((Identity <:.:> ((Construction Maybe <:.:> Construction Maybe) := (:*:))) := (:*:))) ~> Morphing ('Rotate 'Right) ((Identity <:.:> ((Construction Maybe <:.:> Construction Maybe) := (:*:))) := (:*:)) Source #
type Morphing ('Rotate 'Left) ((Identity <:.:> ((Construction Maybe <:.:> Construction Maybe) := (:*:))) := (:*:)) :: Type -> Type Source #
morphing :: (Tagged ('Rotate 'Left) <:.> ((Identity <:.:> ((Construction Maybe <:.:> Construction Maybe) := (:*:))) := (:*:))) ~> Morphing ('Rotate 'Left) ((Identity <:.:> ((Construction Maybe <:.:> Construction Maybe) := (:*:))) := (:*:)) Source #
type Morphing ('Rotate 'Right) ((Identity <:.:> ((List <:.:> List) := (:*:))) := (:*:)) :: Type -> Type Source #
morphing :: (Tagged ('Rotate 'Right) <:.> ((Identity <:.:> ((List <:.:> List) := (:*:))) := (:*:))) ~> Morphing ('Rotate 'Right) ((Identity <:.:> ((List <:.:> List) := (:*:))) := (:*:)) Source #
type Morphing ('Rotate 'Left) ((Identity <:.:> ((List <:.:> List) := (:*:))) := (:*:)) :: Type -> Type Source #
morphing :: (Tagged ('Rotate 'Left) <:.> ((Identity <:.:> ((List <:.:> List) := (:*:))) := (:*:))) ~> Morphing ('Rotate 'Left) ((Identity <:.:> ((List <:.:> List) := (:*:))) := (:*:)) Source #
type Morphing ('Rotate 'Up) ((((Identity <:.:> (Wye <:.> Construction Wye)) := (:*:)) <:.:> (Bifurcation <:.> Bicursor)) := (:*:)) :: Type -> Type Source #
morphing :: (Tagged ('Rotate 'Up) <:.> ((((Identity <:.:> (Wye <:.> Construction Wye)) := (:*:)) <:.:> (Bifurcation <:.> Bicursor)) := (:*:))) ~> Morphing ('Rotate 'Up) ((((Identity <:.:> (Wye <:.> Construction Wye)) := (:*:)) <:.:> (Bifurcation <:.> Bicursor)) := (:*:)) Source #
type Morphing ('Rotate ('Down 'Right)) ((((Identity <:.:> (Wye <:.> Construction Wye)) := (:*:)) <:.:> (Bifurcation <:.> Bicursor)) := (:*:)) :: Type -> Type Source #
morphing :: (Tagged ('Rotate ('Down 'Right)) <:.> ((((Identity <:.:> (Wye <:.> Construction Wye)) := (:*:)) <:.:> (Bifurcation <:.> Bicursor)) := (:*:))) ~> Morphing ('Rotate ('Down 'Right)) ((((Identity <:.:> (Wye <:.> Construction Wye)) := (:*:)) <:.:> (Bifurcation <:.> Bicursor)) := (:*:)) Source #
type Morphing ('Rotate ('Down 'Left)) ((((Identity <:.:> (Wye <:.> Construction Wye)) := (:*:)) <:.:> (Bifurcation <:.> Bicursor)) := (:*:)) :: Type -> Type Source #
morphing :: (Tagged ('Rotate ('Down 'Left)) <:.> ((((Identity <:.:> (Wye <:.> Construction Wye)) := (:*:)) <:.:> (Bifurcation <:.> Bicursor)) := (:*:))) ~> Morphing ('Rotate ('Down 'Left)) ((((Identity <:.:> (Wye <:.> Construction Wye)) := (:*:)) <:.:> (Bifurcation <:.> Bicursor)) := (:*:)) Source #
type Morphing 'Insert Binary :: Type -> Type Source #
morphing :: (Tagged 'Insert <:.> Binary) ~> Morphing 'Insert Binary Source #
type Available 'Right Wye :: Type -> Type Source #
type Substance 'Right Wye :: Type -> Type Source #
substructure :: ((Tagged 'Right <:.> Wye) #=@ Substance 'Right Wye) := Available 'Right Wye Source #
sub :: (Wye #=@ Substance 'Right Wye) := Available 'Right Wye Source #
type Available 'Left Wye :: Type -> Type Source #
type Substance 'Left Wye :: Type -> Type Source #
substructure :: ((Tagged 'Left <:.> Wye) #=@ Substance 'Left Wye) := Available 'Left Wye Source #
sub :: (Wye #=@ Substance 'Left Wye) := Available 'Left Wye Source #
type Available 'Right Binary :: Type -> Type Source #
type Substance 'Right Binary :: Type -> Type Source #
substructure :: ((Tagged 'Right <:.> Binary) #=@ Substance 'Right Binary) := Available 'Right Binary Source #
sub :: (Binary #=@ Substance 'Right Binary) := Available 'Right Binary Source #
type Available 'Left Binary :: Type -> Type Source #
type Substance 'Left Binary :: Type -> Type Source #
substructure :: ((Tagged 'Left <:.> Binary) #=@ Substance 'Left Binary) := Available 'Left Binary Source #
sub :: (Binary #=@ Substance 'Left Binary) := Available 'Left Binary Source #
type Morphing 'Insert (Construction Wye) :: Type -> Type Source #
morphing :: (Tagged 'Insert <:.> Construction Wye) ~> Morphing 'Insert (Construction Wye) Source #
Defined in Pandora.Paradigm.Structure.Ability.Zipper
type Available 'Right (Tape t) :: Type -> Type Source #
type Substance 'Right (Tape t) :: Type -> Type Source #
substructure :: ((Tagged 'Right <:.> Tape t) #=@ Substance 'Right (Tape t)) := Available 'Right (Tape t) Source #
sub :: (Tape t #=@ Substance 'Right (Tape t)) := Available 'Right (Tape t) Source #
type Available 'Left (Tape t) :: Type -> Type Source #
type Substance 'Left (Tape t) :: Type -> Type Source #
substructure :: ((Tagged 'Left <:.> Tape t) #=@ Substance 'Left (Tape t)) := Available 'Left (Tape t) Source #
sub :: (Tape t #=@ Substance 'Left (Tape t)) := Available 'Left (Tape t) Source #
Defined in Pandora.Paradigm.Primary.Transformer.Tap
type Available 'Right (Tap ((t <:.:> t) := (:*:))) :: Type -> Type Source #
type Substance 'Right (Tap ((t <:.:> t) := (:*:))) :: Type -> Type Source #
substructure :: ((Tagged 'Right <:.> Tap ((t <:.:> t) := (:*:))) #=@ Substance 'Right (Tap ((t <:.:> t) := (:*:)))) := Available 'Right (Tap ((t <:.:> t) := (:*:))) Source #
sub :: (Tap ((t <:.:> t) := (:*:)) #=@ Substance 'Right (Tap ((t <:.:> t) := (:*:)))) := Available 'Right (Tap ((t <:.:> t) := (:*:))) Source #
type Available 'Left (Tap ((t <:.:> t) := (:*:))) :: Type -> Type Source #
type Substance 'Left (Tap ((t <:.:> t) := (:*:))) :: Type -> Type Source #
substructure :: ((Tagged 'Left <:.> Tap ((t <:.:> t) := (:*:))) #=@ Substance 'Left (Tap ((t <:.:> t) := (:*:)))) := Available 'Left (Tap ((t <:.:> t) := (:*:))) Source #
sub :: (Tap ((t <:.:> t) := (:*:)) #=@ Substance 'Left (Tap ((t <:.:> t) := (:*:)))) := Available 'Left (Tap ((t <:.:> t) := (:*:))) Source #
type Available 'Right (Construction Wye) :: Type -> Type Source #
type Substance 'Right (Construction Wye) :: Type -> Type Source #
substructure :: ((Tagged 'Right <:.> Construction Wye) #=@ Substance 'Right (Construction Wye)) := Available 'Right (Construction Wye) Source #
sub :: (Construction Wye #=@ Substance 'Right (Construction Wye)) := Available 'Right (Construction Wye) Source #
type Available 'Left (Construction Wye) :: Type -> Type Source #
type Substance 'Left (Construction Wye) :: Type -> Type Source #
substructure :: ((Tagged 'Left <:.> Construction Wye) #=@ Substance 'Left (Construction Wye)) := Available 'Left (Construction Wye) Source #
sub :: (Construction Wye #=@ Substance 'Left (Construction Wye)) := Available 'Left (Construction Wye) Source #
type Available 'Root (Construction Wye) :: Type -> Type Source #
type Substance 'Root (Construction Wye) :: Type -> Type Source #
substructure :: ((Tagged 'Root <:.> Construction Wye) #=@ Substance 'Root (Construction Wye)) := Available 'Root (Construction Wye) Source #
sub :: (Construction Wye #=@ Substance 'Root (Construction Wye)) := Available 'Root (Construction Wye) Source #
type Available 'Right ((:*:) s) :: Type -> Type Source #
type Substance 'Right ((:*:) s) :: Type -> Type Source #
substructure :: ((Tagged 'Right <:.> (:*:) s) #=@ Substance 'Right ((:*:) s)) := Available 'Right ((:*:) s) Source #
sub :: ((:*:) s #=@ Substance 'Right ((:*:) s)) := Available 'Right ((:*:) s) Source #
type Available 'Left (Flip (:*:) a2) :: Type -> Type Source #
type Substance 'Left (Flip (:*:) a2) :: Type -> Type Source #
substructure :: ((Tagged 'Left <:.> Flip (:*:) a2) #=@ Substance 'Left (Flip (:*:) a2)) := Available 'Left (Flip (:*:) a2) Source #
sub :: (Flip (:*:) a2 #=@ Substance 'Left (Flip (:*:) a2)) := Available 'Left (Flip (:*:) a2) Source #
type Available 'Right (Tape t <:.> Tape t) :: Type -> Type Source #
type Substance 'Right (Tape t <:.> Tape t) :: Type -> Type Source #
substructure :: ((Tagged 'Right <:.> (Tape t <:.> Tape t)) #=@ Substance 'Right (Tape t <:.> Tape t)) := Available 'Right (Tape t <:.> Tape t) Source #
sub :: ((Tape t <:.> Tape t) #=@ Substance 'Right (Tape t <:.> Tape t)) := Available 'Right (Tape t <:.> Tape t) Source #
type Available 'Left (Tape t <:.> Tape t) :: Type -> Type Source #
type Substance 'Left (Tape t <:.> Tape t) :: Type -> Type Source #
substructure :: ((Tagged 'Left <:.> (Tape t <:.> Tape t)) #=@ Substance 'Left (Tape t <:.> Tape t)) := Available 'Left (Tape t <:.> Tape t) Source #
sub :: ((Tape t <:.> Tape t) #=@ Substance 'Left (Tape t <:.> Tape t)) := Available 'Left (Tape t <:.> Tape t) Source #
type Available 'Right ((t <:.:> t) := (:*:)) :: Type -> Type Source #
type Substance 'Right ((t <:.:> t) := (:*:)) :: Type -> Type Source #
substructure :: ((Tagged 'Right <:.> ((t <:.:> t) := (:*:))) #=@ Substance 'Right ((t <:.:> t) := (:*:))) := Available 'Right ((t <:.:> t) := (:*:)) Source #
sub :: (((t <:.:> t) := (:*:)) #=@ Substance 'Right ((t <:.:> t) := (:*:))) := Available 'Right ((t <:.:> t) := (:*:)) Source #
type Available 'Left ((t <:.:> t) := (:*:)) :: Type -> Type Source #
type Substance 'Left ((t <:.:> t) := (:*:)) :: Type -> Type Source #
substructure :: ((Tagged 'Left <:.> ((t <:.:> t) := (:*:))) #=@ Substance 'Left ((t <:.:> t) := (:*:))) := Available 'Left ((t <:.:> t) := (:*:)) Source #
sub :: (((t <:.:> t) := (:*:)) #=@ Substance 'Left ((t <:.:> t) := (:*:))) := Available 'Left ((t <:.:> t) := (:*:)) Source #
(<-|-) :: (a -> b) -> Wye a -> Wye b Source #
(<<-) :: (Covariant (->) (->) u, Monoidal (Straight (->)) (Straight (->)) (:*:) (:*:) u) => (a -> u b) -> Construction Wye a -> u (Construction Wye b) Source #
Defined in Pandora.Paradigm.Primary.Transformer.Kan
(<-|-) :: (a -> b0) -> Kan 'Right t u b a -> Kan 'Right t u b b0 Source #
(>-|-) :: (a -> b0) -> Kan 'Left t u b b0 -> Kan 'Left t u b a Source #
type Primary (Kan 'Left t u b) a Source #
run :: Kan 'Left t u b a -> Primary (Kan 'Left t u b) a Source #
unite :: Primary (Kan 'Left t u b) a -> Kan 'Left t u b a Source #
(!) :: Kan 'Left t u b a -> Primary (Kan 'Left t u b) a Source #
(||=) :: (Semigroupoid (->), Interpreted (->) u0) => (Primary (Kan 'Left t u b) a -> Primary u0 b0) -> Kan 'Left t u b a -> u0 b0 Source #
(=||) :: (Semigroupoid (->), Interpreted (->) u0) => (Kan 'Left t u b a -> u0 b0) -> Primary (Kan 'Left t u b) a -> Primary u0 b0 Source #
(<$||=) :: (Semigroupoid (->), Covariant (->) (->) j, Interpreted (->) u0) => (Primary (Kan 'Left t u b) a -> Primary u0 b0) -> (j := Kan 'Left t u b a) -> (j := u0 b0) Source #
(=||$>) :: (Covariant (->) (->) j, Interpreted (->) u0) => (Kan 'Left t u b a -> u0 b0) -> (j := Primary (Kan 'Left t u b) a) -> (j := Primary u0 b0) Source #
type Primary (Kan 'Right t u b) a Source #
run :: Kan 'Right t u b a -> Primary (Kan 'Right t u b) a Source #
unite :: Primary (Kan 'Right t u b) a -> Kan 'Right t u b a Source #
(!) :: Kan 'Right t u b a -> Primary (Kan 'Right t u b) a Source #
(||=) :: (Semigroupoid (->), Interpreted (->) u0) => (Primary (Kan 'Right t u b) a -> Primary u0 b0) -> Kan 'Right t u b a -> u0 b0 Source #
(=||) :: (Semigroupoid (->), Interpreted (->) u0) => (Kan 'Right t u b a -> u0 b0) -> Primary (Kan 'Right t u b) a -> Primary u0 b0 Source #
(<$||=) :: (Semigroupoid (->), Covariant (->) (->) j, Interpreted (->) u0) => (Primary (Kan 'Right t u b) a -> Primary u0 b0) -> (j := Kan 'Right t u b a) -> (j := u0 b0) Source #
(=||$>) :: (Covariant (->) (->) j, Interpreted (->) u0) => (Kan 'Right t u b a -> u0 b0) -> (j := Primary (Kan 'Right t u b) a) -> (j := Primary u0 b0) Source #
wye :: r -> (a -> r) -> (a -> r) -> (a -> a -> r) -> Wye a -> r Source #
swop :: Wye ~> Wye Source #