Module
Data.Generic.Rep.Optic.Internal
- Package
- purescript-generics-rep-optics
- Repository
- LiamGoodacre/purescript-generics-rep-optics
#Ctor Source
class Ctor (ct :: Symbol) (rep :: Type) (out :: Type) (p :: Type -> Type -> Type) | ct rep -> out p where
Optic into a ctor of a Sum
Members
Instances
(Profunctor p) => Ctor ct (Constructor ct arg) arg p
(Choice p, Equals ct cur bool, CtorSum bool ct (Sum (Constructor cur arg) rest) out p) => Ctor ct (Sum (Constructor cur arg) rest) out p
Rep has multiple ctors
#CtorSum Source
#Z Source
data Z :: Type
Instances
NatKey Z "value0"
NatKey (S Z) "value1"
NatKey (S (S Z)) "value2"
NatKey (S (S (S Z))) "value3"
NatKey (S (S (S (S Z)))) "value4"
NatKey (S (S (S (S (S Z))))) "value5"
NatKey (S (S (S (S (S (S Z)))))) "value6"
NatKey (S (S (S (S (S (S (S Z))))))) "value7"
NatKey (S (S (S (S (S (S (S (S Z)))))))) "value8"
NatKey (S (S (S (S (S (S (S (S (S Z))))))))) "value9"
(Profunctor p) => ArgsProd Z (Argument arg) arg p
(Strong p) => ArgsProd Z (Product (Argument arg) r) arg p
#S Source
data S :: Type -> Type
Instances
NatKey (S Z) "value1"
NatKey (S (S Z)) "value2"
NatKey (S (S (S Z))) "value3"
NatKey (S (S (S (S Z)))) "value4"
NatKey (S (S (S (S (S Z))))) "value5"
NatKey (S (S (S (S (S (S Z)))))) "value6"
NatKey (S (S (S (S (S (S (S Z))))))) "value7"
NatKey (S (S (S (S (S (S (S (S Z)))))))) "value8"
NatKey (S (S (S (S (S (S (S (S (S Z))))))))) "value9"
(Strong p, ArgsProd n r out p) => ArgsProd (S n) (Product l r) out p
#NatKey Source
class NatKey (n :: Type) (s :: Symbol) | n -> s, s -> n
Instances
NatKey Z "value0"
NatKey (S Z) "value1"
NatKey (S (S Z)) "value2"
NatKey (S (S (S Z))) "value3"
NatKey (S (S (S (S Z)))) "value4"
NatKey (S (S (S (S (S Z))))) "value5"
NatKey (S (S (S (S (S (S Z)))))) "value6"
NatKey (S (S (S (S (S (S (S Z))))))) "value7"
NatKey (S (S (S (S (S (S (S (S Z)))))))) "value8"
NatKey (S (S (S (S (S (S (S (S (S Z))))))))) "value9"
#ArgsProd Source
#ArgsRec Source
#ArgsRecCheck Source
class ArgsRecCheck (bool :: Boolean) (fd :: Symbol) (rep :: Type) (lfd :: Symbol) (lty :: Type) (right :: Type) (out :: Type) (p :: Type -> Type -> Type) | bool fd -> rep lfd lty right out p where
Members
gArgsRecCheck :: BProxy bool -> SProxy fd -> p out out -> p rep rep
Instances
(Strong p) => ArgsRecCheck True fd (Product (Field lfd lty) right) lfd lty right lty p
(Strong p, ArgsRec fd right out p) => ArgsRecCheck False fd (Product left right) lfd lty right out p
Rep only has a ctor