-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Lenses for types in generics-sop
--   
--   Lenses for types in generics-sop package
@package generics-sop-lens
@version 0.1.2.1


-- | Lenses for <a>Generics.SOP</a>
--   
--   Orphan instances:
--   
--   <pre>
--   <a>Wrapped</a> (<a>SOP</a> f xss) -- Also <a>Rewrapped</a>
--   <a>Wrapped</a> (<a>POP</a> f xss)
--   <a>Field1</a> (<a>NP</a> f (x ': zs)) (<a>NP</a> f (y ': zs)) (f x) (f y) -- <a>Field2</a> etc.
--   <a>Field1</a> (<a>POP</a> f (x ': zs)) (<a>NP</a> f (y ': zs)) (NP f x) (NP f y)
--   </pre>
module Generics.SOP.Lens
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)

-- | <i>Note:</i> <a>Infix</a> constructor has operator as a
--   <a>ConstructorName</a>. Use as setter with care.
constructorName :: Lens' (ConstructorInfo xs) ConstructorName
instance forall k t (f :: k -> *) (xss :: [[k]]). t ~ Generics.SOP.NS.SOP f xss => Control.Lens.Wrapped.Rewrapped (Generics.SOP.NS.SOP f xss) t
instance forall k (f :: k -> *) (xss :: [[k]]). Control.Lens.Wrapped.Wrapped (Generics.SOP.NS.SOP f xss)
instance forall k t (f :: k -> *) (xss :: [[k]]). t ~ Generics.SOP.NP.POP f xss => Control.Lens.Wrapped.Rewrapped (Generics.SOP.NP.POP f xss) t
instance forall k (f :: k -> *) (xss :: [[k]]). Control.Lens.Wrapped.Wrapped (Generics.SOP.NP.POP f xss)
instance t ~ Generics.SOP.BasicFunctors.I a => Control.Lens.Wrapped.Rewrapped (Generics.SOP.BasicFunctors.I a) t
instance Control.Lens.Wrapped.Wrapped (Generics.SOP.BasicFunctors.I a)
instance forall k t a (b :: k). t ~ Generics.SOP.BasicFunctors.K a b => Control.Lens.Wrapped.Rewrapped (Generics.SOP.BasicFunctors.K a b) t
instance forall k a (b :: k). Control.Lens.Wrapped.Wrapped (Generics.SOP.BasicFunctors.K a b)
instance forall a (f :: a -> *) (x :: a) (zs :: [a]) (y :: a). Control.Lens.Tuple.Field1 (Generics.SOP.NP.NP f (x : zs)) (Generics.SOP.NP.NP f (y : zs)) (f x) (f y)
instance forall k (f :: k -> *) (x :: [k]) (zs :: [[k]]) (y :: [k]). Control.Lens.Tuple.Field1 (Generics.SOP.NP.POP f (x : zs)) (Generics.SOP.NP.POP f (y : zs)) (Generics.SOP.NP.NP f x) (Generics.SOP.NP.NP f y)
instance forall a1 (f :: a1 -> *) (a2 :: a1) (x :: a1) (zs :: [a1]) (y :: a1). Control.Lens.Tuple.Field2 (Generics.SOP.NP.NP f (a2 : x : zs)) (Generics.SOP.NP.NP f (a2 : y : zs)) (f x) (f y)
instance forall k (f :: k -> *) (a :: [k]) (x :: [k]) (zs :: [[k]]) (y :: [k]). Control.Lens.Tuple.Field2 (Generics.SOP.NP.POP f (a : x : zs)) (Generics.SOP.NP.POP f (a : y : zs)) (Generics.SOP.NP.NP f x) (Generics.SOP.NP.NP f y)
instance forall a1 (f :: a1 -> *) (a2 :: a1) (b :: a1) (x :: a1) (zs :: [a1]) (y :: a1). Control.Lens.Tuple.Field3 (Generics.SOP.NP.NP f (a2 : b : x : zs)) (Generics.SOP.NP.NP f (a2 : b : y : zs)) (f x) (f y)
instance forall k (f :: k -> *) (a :: [k]) (b :: [k]) (x :: [k]) (zs :: [[k]]) (y :: [k]). Control.Lens.Tuple.Field3 (Generics.SOP.NP.POP f (a : b : x : zs)) (Generics.SOP.NP.POP f (a : b : y : zs)) (Generics.SOP.NP.NP f x) (Generics.SOP.NP.NP f y)
instance forall a1 (f :: a1 -> *) (a2 :: a1) (b :: a1) (c :: a1) (x :: a1) (zs :: [a1]) (y :: a1). Control.Lens.Tuple.Field4 (Generics.SOP.NP.NP f (a2 : b : c : x : zs)) (Generics.SOP.NP.NP f (a2 : b : c : y : zs)) (f x) (f y)
instance forall k (f :: k -> *) (a :: [k]) (b :: [k]) (c :: [k]) (x :: [k]) (zs :: [[k]]) (y :: [k]). Control.Lens.Tuple.Field4 (Generics.SOP.NP.POP f (a : b : c : x : zs)) (Generics.SOP.NP.POP f (a : b : c : y : zs)) (Generics.SOP.NP.NP f x) (Generics.SOP.NP.NP f y)
instance forall a1 (f :: a1 -> *) (a2 :: a1) (b :: a1) (c :: a1) (d :: a1) (x :: a1) (zs :: [a1]) (y :: a1). Control.Lens.Tuple.Field5 (Generics.SOP.NP.NP f (a2 : b : c : d : x : zs)) (Generics.SOP.NP.NP f (a2 : b : c : d : y : zs)) (f x) (f y)
instance forall k (f :: k -> *) (a :: [k]) (b :: [k]) (c :: [k]) (d :: [k]) (x :: [k]) (zs :: [[k]]) (y :: [k]). Control.Lens.Tuple.Field5 (Generics.SOP.NP.POP f (a : b : c : d : x : zs)) (Generics.SOP.NP.POP f (a : b : c : d : y : zs)) (Generics.SOP.NP.NP f x) (Generics.SOP.NP.NP f y)
instance forall a1 (f :: a1 -> *) (a2 :: a1) (b :: a1) (c :: a1) (d :: a1) (e :: a1) (x :: a1) (zs :: [a1]) (y :: a1). Control.Lens.Tuple.Field6 (Generics.SOP.NP.NP f (a2 : b : c : d : e : x : zs)) (Generics.SOP.NP.NP f (a2 : b : c : d : e : y : zs)) (f x) (f y)
instance forall k (f :: k -> *) (a :: [k]) (b :: [k]) (c :: [k]) (d :: [k]) (e :: [k]) (x :: [k]) (zs :: [[k]]) (y :: [k]). Control.Lens.Tuple.Field6 (Generics.SOP.NP.POP f (a : b : c : d : e : x : zs)) (Generics.SOP.NP.POP f (a : b : c : d : e : y : zs)) (Generics.SOP.NP.NP f x) (Generics.SOP.NP.NP f y)
instance forall a1 (f' :: a1 -> *) (a2 :: a1) (b :: a1) (c :: a1) (d :: a1) (e :: a1) (f :: a1) (x :: a1) (zs :: [a1]) (y :: a1). Control.Lens.Tuple.Field7 (Generics.SOP.NP.NP f' (a2 : b : c : d : e : f : x : zs)) (Generics.SOP.NP.NP f' (a2 : b : c : d : e : f : y : zs)) (f' x) (f' y)
instance forall k (f' :: k -> *) (a :: [k]) (b :: [k]) (c :: [k]) (d :: [k]) (e :: [k]) (f :: [k]) (x :: [k]) (zs :: [[k]]) (y :: [k]). Control.Lens.Tuple.Field7 (Generics.SOP.NP.POP f' (a : b : c : d : e : f : x : zs)) (Generics.SOP.NP.POP f' (a : b : c : d : e : f : y : zs)) (Generics.SOP.NP.NP f' x) (Generics.SOP.NP.NP f' y)
instance forall a1 (f' :: a1 -> *) (a2 :: a1) (b :: a1) (c :: a1) (d :: a1) (e :: a1) (f :: a1) (g :: a1) (x :: a1) (zs :: [a1]) (y :: a1). Control.Lens.Tuple.Field8 (Generics.SOP.NP.NP f' (a2 : b : c : d : e : f : g : x : zs)) (Generics.SOP.NP.NP f' (a2 : b : c : d : e : f : g : y : zs)) (f' x) (f' y)
instance forall k (f' :: k -> *) (a :: [k]) (b :: [k]) (c :: [k]) (d :: [k]) (e :: [k]) (f :: [k]) (g :: [k]) (x :: [k]) (zs :: [[k]]) (y :: [k]). Control.Lens.Tuple.Field8 (Generics.SOP.NP.POP f' (a : b : c : d : e : f : g : x : zs)) (Generics.SOP.NP.POP f' (a : b : c : d : e : f : g : y : zs)) (Generics.SOP.NP.NP f' x) (Generics.SOP.NP.NP f' y)
instance forall a1 (f' :: a1 -> *) (a2 :: a1) (b :: a1) (c :: a1) (d :: a1) (e :: a1) (f :: a1) (g :: a1) (h :: a1) (x :: a1) (zs :: [a1]) (y :: a1). Control.Lens.Tuple.Field9 (Generics.SOP.NP.NP f' (a2 : b : c : d : e : f : g : h : x : zs)) (Generics.SOP.NP.NP f' (a2 : b : c : d : e : f : g : h : y : zs)) (f' x) (f' y)
instance forall k (f' :: k -> *) (a :: [k]) (b :: [k]) (c :: [k]) (d :: [k]) (e :: [k]) (f :: [k]) (g :: [k]) (h :: [k]) (x :: [k]) (zs :: [[k]]) (y :: [k]). Control.Lens.Tuple.Field9 (Generics.SOP.NP.POP f' (a : b : c : d : e : f : g : h : x : zs)) (Generics.SOP.NP.POP f' (a : b : c : d : e : f : g : h : y : zs)) (Generics.SOP.NP.NP f' x) (Generics.SOP.NP.NP f' y)
