Safe Haskell | None |
---|---|
Language | Haskell2010 |
Generics.SOP.Lens
Description
- rep :: Generic a => Iso' a (Rep a)
- sop :: forall (f :: k -> *) xss yss. Iso (NS (NP f) xss) (NS (NP f) yss) (SOP f xss) (SOP f yss)
- pop :: forall (f :: k -> *) xss yss. Iso (NP (NP f) xss) (NP (NP f) yss) (POP f xss) (POP f yss)
- unsop :: forall (f :: k -> *) xss yss. Iso (SOP f xss) (SOP f yss) (NS (NP f) xss) (NS (NP f) yss)
- unpop :: forall (f :: k -> *) xss yss. Iso (POP f xss) (POP f yss) (NP (NP f) xss) (NP (NP f) yss)
- isoI :: Iso a b (I a) (I b)
- isoK :: Iso a b (K a c) (K b c)
- uni :: Iso (I a) (I b) a b
- unk :: Iso (K a c) (K b c) a b
- singletonP :: forall (f :: k -> *) x y. Iso (f x) (f y) (NP f '[x]) (NP f '[y])
- unSingletonP :: forall (f :: k -> *) x y. Iso (NP f '[x]) (NP f '[y]) (f x) (f y)
- headLens :: forall (f :: k -> *) x y zs. Lens (NP f (x ': zs)) (NP f (y ': zs)) (f x) (f y)
- tailLens :: forall (f :: k -> *) x ys zs. Lens (NP f (x ': ys)) (NP f (x ': zs)) (NP f ys) (NP f zs)
- singletonS :: forall (f :: k -> *) x y. Iso (f x) (f y) (NS f '[x]) (NS f '[y])
- unSingletonS :: forall (f :: k -> *) x y. Iso (NS f '[x]) (NS f '[y]) (f x) (f y)
- _Z :: forall (f :: k -> *) x y zs. Prism (NS f (x ': zs)) (NS f (y ': zs)) (f x) (f y)
- _S :: forall (f :: k -> *) x ys zs. Prism (NS f (x ': ys)) (NS f (x ': zs)) (NS f ys) (NS f zs)
- moduleName :: Lens' (DatatypeInfo xss) ModuleName
- datatypeName :: Lens' (DatatypeInfo xss) DatatypeName
- constructorInfo :: Lens' (DatatypeInfo xss) (NP ConstructorInfo xss)
- constructorName :: Lens' (ConstructorInfo xs) ConstructorName
Documentation
SOP & POP
unsop :: forall (f :: k -> *) xss yss. Iso (SOP f xss) (SOP f yss) (NS (NP f) xss) (NS (NP f) yss) #
unpop :: forall (f :: k -> *) xss yss. Iso (POP f xss) (POP f yss) (NP (NP f) xss) (NP (NP f) yss) #
Functors
Products
tailLens :: forall (f :: k -> *) x ys zs. Lens (NP f (x ': ys)) (NP f (x ': zs)) (NP f ys) (NP f zs) #
Sums
DatatypeInfo
moduleName :: Lens' (DatatypeInfo xss) ModuleName #
datatypeName :: Lens' (DatatypeInfo xss) DatatypeName #
constructorInfo :: Lens' (DatatypeInfo xss) (NP ConstructorInfo xss) #
constructorName :: Lens' (ConstructorInfo xs) ConstructorName #
Note: Infix
constructor has operator as a ConstructorName
. Use as
setter with care.
Orphan instances
Wrapped (I a) # | |
(~) * t (I a) => Rewrapped (I a) t # | |
Wrapped (SOP k f xss) # | |
Wrapped (POP k f xss) # | |
Wrapped (K k a b) # | |
(~) * t (SOP k f xss) => Rewrapped (SOP k f xss) t # | |
(~) * t (POP k f xss) => Rewrapped (POP k f xss) t # | |
(~) * t (K k a b) => Rewrapped (K k a b) t # | |
Field1 (NP a f ((:) a x zs)) (NP a f ((:) a y zs)) (f x) (f y) # | |
Field2 (NP a1 f ((:) a1 a2 ((:) a1 x zs))) (NP a1 f ((:) a1 a2 ((:) a1 y zs))) (f x) (f y) # | |
Field3 (NP a1 f ((:) a1 a2 ((:) a1 b ((:) a1 x zs)))) (NP a1 f ((:) a1 a2 ((:) a1 b ((:) a1 y zs)))) (f x) (f y) # | |
Field4 (NP a1 f ((:) a1 a2 ((:) a1 b ((:) a1 c ((:) a1 x zs))))) (NP a1 f ((:) a1 a2 ((:) a1 b ((:) a1 c ((:) a1 y zs))))) (f x) (f y) # | |
Field5 (NP a1 f ((:) a1 a2 ((:) a1 b ((:) a1 c ((:) a1 d ((:) a1 x zs)))))) (NP a1 f ((:) a1 a2 ((:) a1 b ((:) a1 c ((:) a1 d ((:) a1 y zs)))))) (f x) (f y) # | |
Field6 (NP a1 f ((:) a1 a2 ((:) a1 b ((:) a1 c ((:) a1 d ((:) a1 e ((:) a1 x zs))))))) (NP a1 f ((:) a1 a2 ((:) a1 b ((:) a1 c ((:) a1 d ((:) a1 e ((:) a1 y zs))))))) (f x) (f y) # | |
Field7 (NP a1 f' ((:) a1 a2 ((:) a1 b ((:) a1 c ((:) a1 d ((:) a1 e ((:) a1 f ((:) a1 x zs)))))))) (NP a1 f' ((:) a1 a2 ((:) a1 b ((:) a1 c ((:) a1 d ((:) a1 e ((:) a1 f ((:) a1 y zs)))))))) (f' x) (f' y) # | |
Field8 (NP a1 f' ((:) a1 a2 ((:) a1 b ((:) a1 c ((:) a1 d ((:) a1 e ((:) a1 f ((:) a1 g ((:) a1 x zs))))))))) (NP a1 f' ((:) a1 a2 ((:) a1 b ((:) a1 c ((:) a1 d ((:) a1 e ((:) a1 f ((:) a1 g ((:) a1 y zs))))))))) (f' x) (f' y) # | |
Field9 (NP a1 f' ((:) a1 a2 ((:) a1 b ((:) a1 c ((:) a1 d ((:) a1 e ((:) a1 f ((:) a1 g ((:) a1 h ((:) a1 x zs)))))))))) (NP a1 f' ((:) a1 a2 ((:) a1 b ((:) a1 c ((:) a1 d ((:) a1 e ((:) a1 f ((:) a1 g ((:) a1 h ((:) a1 y zs)))))))))) (f' x) (f' y) # | |
Field1 (POP k f ((:) [k] x zs)) (POP k f ((:) [k] y zs)) (NP k f x) (NP k f y) # | |
Field2 (POP k f ((:) [k] a ((:) [k] x zs))) (POP k f ((:) [k] a ((:) [k] y zs))) (NP k f x) (NP k f y) # | |
Field3 (POP k f ((:) [k] a ((:) [k] b ((:) [k] x zs)))) (POP k f ((:) [k] a ((:) [k] b ((:) [k] y zs)))) (NP k f x) (NP k f y) # | |
Field4 (POP k f ((:) [k] a ((:) [k] b ((:) [k] c ((:) [k] x zs))))) (POP k f ((:) [k] a ((:) [k] b ((:) [k] c ((:) [k] y zs))))) (NP k f x) (NP k f y) # | |
Field5 (POP k f ((:) [k] a ((:) [k] b ((:) [k] c ((:) [k] d ((:) [k] x zs)))))) (POP k f ((:) [k] a ((:) [k] b ((:) [k] c ((:) [k] d ((:) [k] y zs)))))) (NP k f x) (NP k f y) # | |
Field6 (POP k f ((:) [k] a ((:) [k] b ((:) [k] c ((:) [k] d ((:) [k] e ((:) [k] x zs))))))) (POP k f ((:) [k] a ((:) [k] b ((:) [k] c ((:) [k] d ((:) [k] e ((:) [k] y zs))))))) (NP k f x) (NP k f y) # | |
Field7 (POP k f' ((:) [k] a ((:) [k] b ((:) [k] c ((:) [k] d ((:) [k] e ((:) [k] f ((:) [k] x zs)))))))) (POP k f' ((:) [k] a ((:) [k] b ((:) [k] c ((:) [k] d ((:) [k] e ((:) [k] f ((:) [k] y zs)))))))) (NP k f' x) (NP k f' y) # | |
Field8 (POP k f' ((:) [k] a ((:) [k] b ((:) [k] c ((:) [k] d ((:) [k] e ((:) [k] f ((:) [k] g ((:) [k] x zs))))))))) (POP k f' ((:) [k] a ((:) [k] b ((:) [k] c ((:) [k] d ((:) [k] e ((:) [k] f ((:) [k] g ((:) [k] y zs))))))))) (NP k f' x) (NP k f' y) # | |
Field9 (POP k f' ((:) [k] a ((:) [k] b ((:) [k] c ((:) [k] d ((:) [k] e ((:) [k] f ((:) [k] g ((:) [k] h ((:) [k] x zs)))))))))) (POP k f' ((:) [k] a ((:) [k] b ((:) [k] c ((:) [k] d ((:) [k] e ((:) [k] f ((:) [k] g ((:) [k] h ((:) [k] y zs)))))))))) (NP k f' x) (NP k f' y) # | |