Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- 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
- strictnessInfo :: Traversal' (DatatypeInfo xss) (POP StrictnessInfo xss)
Documentation
SOP & POP
sop :: forall (f :: k -> *) xss yss. Iso (NS (NP f) xss) (NS (NP f) yss) (SOP f xss) (SOP f yss) Source #
pop :: forall (f :: k -> *) xss yss. Iso (NP (NP f) xss) (NP (NP f) yss) (POP f xss) (POP f yss) Source #
unsop :: forall (f :: k -> *) xss yss. Iso (SOP f xss) (SOP f yss) (NS (NP f) xss) (NS (NP f) yss) Source #
unpop :: forall (f :: k -> *) xss yss. Iso (POP f xss) (POP f yss) (NP (NP f) xss) (NP (NP f) yss) Source #
Functors
Products
headLens :: forall (f :: k -> *) x y zs. Lens (NP f (x ': zs)) (NP f (y ': zs)) (f x) (f y) Source #
tailLens :: forall (f :: k -> *) x ys zs. Lens (NP f (x ': ys)) (NP f (x ': zs)) (NP f ys) (NP f zs) Source #
Sums
_S :: forall (f :: k -> *) x ys zs. Prism (NS f (x ': ys)) (NS f (x ': zs)) (NS f ys) (NS f zs) Source #
DatatypeInfo
moduleName :: Lens' (DatatypeInfo xss) ModuleName Source #
datatypeName :: Lens' (DatatypeInfo xss) DatatypeName Source #
constructorInfo :: Lens' (DatatypeInfo xss) (NP ConstructorInfo xss) Source #
constructorName :: Lens' (ConstructorInfo xs) ConstructorName Source #
Note: Infix
constructor has operator as a ConstructorName
. Use as
setter with care.
strictnessInfo :: Traversal' (DatatypeInfo xss) (POP StrictnessInfo xss) Source #
Strictness info is only aviable for ADT
data. This combinator is available only with generics-sop
0.5 or later.
Orphan instances
Wrapped (I a) Source # | |
t ~ I a => Rewrapped (I a) t Source # | |
Wrapped (K a b) Source # | |
Wrapped (POP f xss) Source # | |
Wrapped (SOP f xss) Source # | |
t ~ K a b => Rewrapped (K a b) t Source # | |
t ~ POP f xss => Rewrapped (POP f xss) t Source # | |
t ~ SOP f xss => Rewrapped (SOP f xss) t Source # | |
Field1 (NP f (x ': zs)) (NP f (y ': zs)) (f x) (f y) Source # | |
Field2 (NP f (a2 ': (x ': zs))) (NP f (a2 ': (y ': zs))) (f x) (f y) Source # | |
Field3 (NP f (a2 ': (b ': (x ': zs)))) (NP f (a2 ': (b ': (y ': zs)))) (f x) (f y) Source # | |
Field4 (NP f (a2 ': (b ': (c ': (x ': zs))))) (NP f (a2 ': (b ': (c ': (y ': zs))))) (f x) (f y) Source # | |
Field5 (NP f (a2 ': (b ': (c ': (d ': (x ': zs)))))) (NP f (a2 ': (b ': (c ': (d ': (y ': zs)))))) (f x) (f y) Source # | |
Field6 (NP f (a2 ': (b ': (c ': (d ': (e ': (x ': zs))))))) (NP f (a2 ': (b ': (c ': (d ': (e ': (y ': zs))))))) (f x) (f y) Source # | |
Field7 (NP f' (a2 ': (b ': (c ': (d ': (e ': (f ': (x ': zs)))))))) (NP f' (a2 ': (b ': (c ': (d ': (e ': (f ': (y ': zs)))))))) (f' x) (f' y) Source # | |
Field8 (NP f' (a2 ': (b ': (c ': (d ': (e ': (f ': (g ': (x ': zs))))))))) (NP f' (a2 ': (b ': (c ': (d ': (e ': (f ': (g ': (y ': zs))))))))) (f' x) (f' y) Source # | |
Field9 (NP f' (a2 ': (b ': (c ': (d ': (e ': (f ': (g ': (h ': (x ': zs)))))))))) (NP f' (a2 ': (b ': (c ': (d ': (e ': (f ': (g ': (h ': (y ': zs)))))))))) (f' x) (f' y) Source # | |
Field1 (POP f (x ': zs)) (POP f (y ': zs)) (NP f x) (NP f y) Source # | |
Field2 (POP f (a ': (x ': zs))) (POP f (a ': (y ': zs))) (NP f x) (NP f y) Source # | |
Field3 (POP f (a ': (b ': (x ': zs)))) (POP f (a ': (b ': (y ': zs)))) (NP f x) (NP f y) Source # | |
Field4 (POP f (a ': (b ': (c ': (x ': zs))))) (POP f (a ': (b ': (c ': (y ': zs))))) (NP f x) (NP f y) Source # | |
Field5 (POP f (a ': (b ': (c ': (d ': (x ': zs)))))) (POP f (a ': (b ': (c ': (d ': (y ': zs)))))) (NP f x) (NP f y) Source # | |
Field6 (POP f (a ': (b ': (c ': (d ': (e ': (x ': zs))))))) (POP f (a ': (b ': (c ': (d ': (e ': (y ': zs))))))) (NP f x) (NP f y) Source # | |
Field7 (POP f' (a ': (b ': (c ': (d ': (e ': (f ': (x ': zs)))))))) (POP f' (a ': (b ': (c ': (d ': (e ': (f ': (y ': zs)))))))) (NP f' x) (NP f' y) Source # | |
Field8 (POP f' (a ': (b ': (c ': (d ': (e ': (f ': (g ': (x ': zs))))))))) (POP f' (a ': (b ': (c ': (d ': (e ': (f ': (g ': (y ': zs))))))))) (NP f' x) (NP f' y) Source # | |
Field9 (POP f' (a ': (b ': (c ': (d ': (e ': (f ': (g ': (h ': (x ': zs)))))))))) (POP f' (a ': (b ': (c ': (d ': (e ': (f ': (g ': (h ': (y ': zs)))))))))) (NP f' x) (NP f' y) Source # | |