Module

Halogen.Component.ChildPath

#ChildPath

data ChildPath f f' p p'

Represents a path through Either and Coproduct types for the state, query algebra, and slots of a component. Used when installing children of different types within a single parent component.

Constructors

#compose

compose :: forall f g h p q r. ChildPath g h q r -> ChildPath f g p q -> ChildPath f h p r

Composes two paths.

#cp1

cp1 :: forall f1 g p1 q. ChildPath f1 (f1 <\/> g) p1 (p1 \/ q)

A ChildPath for the 1st component defined using a Either.Nested and Coproduct.Nested representation for the sum.

#cp10

cp10 :: forall f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 g p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 q. ChildPath f10 (f1 <\/> f2 <\/> f3 <\/> f4 <\/> f5 <\/> f6 <\/> f7 <\/> f8 <\/> f9 <\/> f10 <\/> g) p10 (p1 \/ p2 \/ p3 \/ p4 \/ p5 \/ p6 \/ p7 \/ p8 \/ p9 \/ p10 \/ q)

A ChildPath for the 10th component defined using a Either.Nested and Coproduct.Nested representation for the sum.

#cp2

cp2 :: forall f1 f2 g p1 p2 q. ChildPath f2 (f1 <\/> f2 <\/> g) p2 (p1 \/ p2 \/ q)

A ChildPath for the 2nd component defined using a Either.Nested and Coproduct.Nested representation for the sum.

#cp3

cp3 :: forall f1 f2 f3 g p1 p2 p3 q. ChildPath f3 (f1 <\/> f2 <\/> f3 <\/> g) p3 (p1 \/ p2 \/ p3 \/ q)

A ChildPath for the 3rd component defined using a Either.Nested and Coproduct.Nested representation for the sum.

#cp4

cp4 :: forall f1 f2 f3 f4 g p1 p2 p3 p4 q. ChildPath f4 (f1 <\/> f2 <\/> f3 <\/> f4 <\/> g) p4 (p1 \/ p2 \/ p3 \/ p4 \/ q)

A ChildPath for the 4th component defined using a Either.Nested and Coproduct.Nested representation for the sum.

#cp5

cp5 :: forall f1 f2 f3 f4 f5 g p1 p2 p3 p4 p5 q. ChildPath f5 (f1 <\/> f2 <\/> f3 <\/> f4 <\/> f5 <\/> g) p5 (p1 \/ p2 \/ p3 \/ p4 \/ p5 \/ q)

A ChildPath for the 5th component defined using a Either.Nested and Coproduct.Nested representation for the sum.

#cp6

cp6 :: forall f1 f2 f3 f4 f5 f6 g p1 p2 p3 p4 p5 p6 q. ChildPath f6 (f1 <\/> f2 <\/> f3 <\/> f4 <\/> f5 <\/> f6 <\/> g) p6 (p1 \/ p2 \/ p3 \/ p4 \/ p5 \/ p6 \/ q)

A ChildPath for the 6th component defined using a Either.Nested and Coproduct.Nested representation for the sum.

#cp7

cp7 :: forall f1 f2 f3 f4 f5 f6 f7 g p1 p2 p3 p4 p5 p6 p7 q. ChildPath f7 (f1 <\/> f2 <\/> f3 <\/> f4 <\/> f5 <\/> f6 <\/> f7 <\/> g) p7 (p1 \/ p2 \/ p3 \/ p4 \/ p5 \/ p6 \/ p7 \/ q)

A ChildPath for the 7th component defined using a Either.Nested and Coproduct.Nested representation for the sum.

#cp8

cp8 :: forall f1 f2 f3 f4 f5 f6 f7 f8 g p1 p2 p3 p4 p5 p6 p7 p8 q. ChildPath f8 (f1 <\/> f2 <\/> f3 <\/> f4 <\/> f5 <\/> f6 <\/> f7 <\/> f8 <\/> g) p8 (p1 \/ p2 \/ p3 \/ p4 \/ p5 \/ p6 \/ p7 \/ p8 \/ q)

A ChildPath for the 8th component defined using a Either.Nested and Coproduct.Nested representation for the sum.

#cp9

cp9 :: forall f1 f2 f3 f4 f5 f6 f7 f8 f9 g p1 p2 p3 p4 p5 p6 p7 p8 p9 q. ChildPath f9 (f1 <\/> f2 <\/> f3 <\/> f4 <\/> f5 <\/> f6 <\/> f7 <\/> f8 <\/> f9 <\/> g) p9 (p1 \/ p2 \/ p3 \/ p4 \/ p5 \/ p6 \/ p7 \/ p8 \/ p9 \/ q)

A ChildPath for the 9th component defined using a Either.Nested and Coproduct.Nested representation for the sum.

#cpI

cpI :: forall f p. ChildPath f f p p

An identity ChildPath.

#cpL

cpL :: forall f g p q. ChildPath f (f <\/> g) p (p \/ q)

A ChildPath that goes to the left.

#cpR

cpR :: forall f g p q. ChildPath f (g <\/> f) p (q \/ p)

A ChildPath that goes to the right.

#injQuery

injQuery :: forall f f' p p'. ChildPath f f' p p' -> f ~> f'

Uses a ChildPath definition to get a query algebra value of type f' from a value of type f. Used internally by Halogen.

#injSlot

injSlot :: forall f f' p p'. ChildPath f f' p p' -> p -> p'

Uses a ChildPath definition to get a slot value of type p' from a value of type p. Used internally by Halogen.

#prjQuery

prjQuery :: forall f f' p p' a. ChildPath f f' p p' -> f' a -> Maybe (f a)

Uses a ChildPath to attempt to get a query algebra value of type f from a value of type f'. Used internally by Halogen.

#prjSlot

prjSlot :: forall f f' p p'. ChildPath f f' p p' -> p' -> Maybe p

Uses a ChildPath definition to get a slot value of type p' from a value of type p. Used internally by Halogen.

#(:>)

Operator alias for Halogen.Component.ChildPath.compose (left-associative / precedence 4)

Re-exports from Halogen.Data.Prism

#_Either9

_Either9 :: forall a b c d e f g h i z. Prism' (a \/ b \/ c \/ d \/ e \/ f \/ g \/ h \/ i \/ z) i

#_Either8

_Either8 :: forall a b c d e f g h z. Prism' (a \/ b \/ c \/ d \/ e \/ f \/ g \/ h \/ z) h

#_Either7

_Either7 :: forall a b c d e f g z. Prism' (a \/ b \/ c \/ d \/ e \/ f \/ g \/ z) g

#_Either6

_Either6 :: forall a b c d e f z. Prism' (a \/ b \/ c \/ d \/ e \/ f \/ z) f

#_Either5

_Either5 :: forall a b c d e z. Prism' (a \/ b \/ c \/ d \/ e \/ z) e

#_Either4

_Either4 :: forall a b c d z. Prism' (a \/ b \/ c \/ d \/ z) d

#_Either3

_Either3 :: forall a b c z. Prism' (a \/ b \/ c \/ z) c

#_Either2

_Either2 :: forall a b z. Prism' (a \/ b \/ z) b

#_Either10

_Either10 :: forall a b c d e f g h i j z. Prism' (a \/ b \/ c \/ d \/ e \/ f \/ g \/ h \/ i \/ j \/ z) j

#_Either1

_Either1 :: forall a z. Prism' (a \/ z) a

#_Coproduct9

_Coproduct9 :: forall a b c d z e f g h i x. Prism1' (a <\/> b <\/> c <\/> d <\/> e <\/> f <\/> g <\/> h <\/> i <\/> z) i x

#_Coproduct8

_Coproduct8 :: forall a b c d z e f g h x. Prism1' (a <\/> b <\/> c <\/> d <\/> e <\/> f <\/> g <\/> h <\/> z) h x

#_Coproduct7

_Coproduct7 :: forall a b c d z e f g x. Prism1' (a <\/> b <\/> c <\/> d <\/> e <\/> f <\/> g <\/> z) g x

#_Coproduct6

_Coproduct6 :: forall a b c d z e f x. Prism1' (a <\/> b <\/> c <\/> d <\/> e <\/> f <\/> z) f x

#_Coproduct5

_Coproduct5 :: forall a b c d z e x. Prism1' (a <\/> b <\/> c <\/> d <\/> e <\/> z) e x

#_Coproduct4

_Coproduct4 :: forall a b c d z x. Prism1' (a <\/> b <\/> c <\/> d <\/> z) d x

#_Coproduct3

_Coproduct3 :: forall a b c z x. Prism1' (a <\/> b <\/> c <\/> z) c x

#_Coproduct2

_Coproduct2 :: forall a b z x. Prism1' (a <\/> b <\/> z) b x

#_Coproduct10

_Coproduct10 :: forall a b c d z e f g h i j x. Prism1' (a <\/> b <\/> c <\/> d <\/> e <\/> f <\/> g <\/> h <\/> i <\/> j <\/> z) j x

#_Coproduct1

_Coproduct1 :: forall a z x. Prism1' (a <\/> z) a x

#type (\/)

Operator alias for Data.Either.Either (right-associative / precedence 6)

#type (<\/>)

Operator alias for Data.Functor.Coproduct.Coproduct (right-associative / precedence 6)

Modules