-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Zip-alignment -- -- -- Zipping with alignment @package alignment @version 0.1.0.3 module Data.Alignment data This f a b This :: f (a, b) -> Maybe (Either (NonEmpty a) (NonEmpty b)) -> This f a b class Functor f => Semialign f align :: Semialign f => f a -> f b -> This f a b alignWith :: Semialign f => ((a, b) -> (c, d)) -> (a -> c) -> (b -> d) -> f a -> f b -> This f c d alignWith' :: Semialign f => (a -> c) -> (b -> d) -> f a -> f b -> This f c d class Semialign f => Align f nil :: Align f => f a -- |
--   >>> over these reverse (This [("abc", 'x'), ("def", 'y')] Nothing)
--   This [("def",'y'),("abc",'x')] Nothing
--   
--   >>> over these reverse (This [("abc", 'x'), ("def", 'y')] (Just (Left ("ghi":|["jkl"]))))
--   This [("def",'y'),("abc",'x')] Just (Left ("ghi" :| ["jkl"]))
--   
these :: Lens (This f a b) (This f' a b) (f (a, b)) (f' (a, b)) -- |
--   >>> over those (fmap (bimap (fmap reverse) (fmap Data.Char.toUpper))) (This [("abc", 'x'), ("def", 'y')] Nothing)
--   This [("abc",'x'),("def",'y')] Nothing
--   
--   >>> over those (fmap (bimap (fmap reverse) (fmap Data.Char.toUpper))) (This [("abc", 'x'), ("def", 'y')] (Just (Left ("abc":|["def"]))))
--   This [("abc",'x'),("def",'y')] Just (Left ("cba" :| ["fed"]))
--   
--   >>> over those (fmap (bimap (fmap reverse) (fmap Data.Char.toUpper))) (This [("abc", 'x'), ("def", 'y')] (Just (Right ('a':|"bcde"))))
--   This [("abc",'x'),("def",'y')] Just (Right ('A' :| "BCDE"))
--   
--   >>> Control.Lens.view those (This [("abc", 'x'), ("def", 'y')] Nothing)
--   Nothing
--   
--   >>> Control.Lens.view those (This [("abc", 'x'), ("def", 'y')] (Just (Left ("abc":|["def"]))))
--   Just (Left ("abc" :| ["def"]))
--   
--   >>> Control.Lens.view those (This [("abc", 'x'), ("def", 'y')] (Just (Right ('a':|"bcde"))))
--   Just (Right ('a' :| "bcde"))
--   
those :: Lens' (This f a b) (Maybe (Either (NonEmpty a) (NonEmpty b))) -- |
--   >>> over allThese (bimap reverse Data.Char.toUpper) (This [("abc", 'x'), ("def", 'y')] Nothing)
--   This [("cba",'X'),("fed",'Y')] Nothing
--   
--   >>> over allThese (bimap reverse Data.Char.toUpper) (This [("abc", 'x'), ("def", 'y')] (Just (Left ("abc":|["def"]))))
--   This [("cba",'X'),("fed",'Y')] Just (Left ("abc" :| ["def"]))
--   
--   >>> over allThese (bimap reverse Data.Char.toUpper) (This [("abc", 'x'), ("def", 'y')] (Just (Right ('a':|"bcde"))))
--   This [("cba",'X'),("fed",'Y')] Just (Right ('a' :| "bcde"))
--   
--   >>> Control.Lens.preview allThese (This [("abc", 'x'), ("def", 'y')] Nothing)
--   Just ("abc",'x')
--   
--   >>> Control.Lens.preview allThese (This [("abc", 'x'), ("def", 'y')] (Just (Left ("abc":|["def"]))))
--   Just ("abc",'x')
--   
--   >>> Control.Lens.preview allThese (This [("abc", 'x'), ("def", 'y')] (Just (Right ('a':|"bcde"))))
--   Just ("abc",'x')
--   
allThese :: Traversable f => Traversal' (This f a b) (a, b) -- |
--   >>> over allThese1 reverse (This [("abc", 'x'), ("def", 'y')] Nothing)
--   This [("cba",'x'),("fed",'y')] Nothing
--   
--   >>> over allThese1 reverse (This [("abc", 'x'), ("def", 'y')] (Just (Left ("abc":|["def"]))))
--   This [("cba",'x'),("fed",'y')] Just (Left ("abc" :| ["def"]))
--   
--   >>> over allThese1 reverse (This [("abc", 'x'), ("def", 'y')] (Just (Right ('a':|"bcde"))))
--   This [("cba",'x'),("fed",'y')] Just (Right ('a' :| "bcde"))
--   
--   >>> Control.Lens.preview allThese1 (This [("abc", 'x'), ("def", 'y')] Nothing)
--   Just "abc"
--   
--   >>> Control.Lens.preview allThese1 (This [("abc", 'x'), ("def", 'y')] (Just (Left ("abc":|["def"]))))
--   Just "abc"
--   
--   >>> Control.Lens.preview allThese1 (This [("abc", 'x'), ("def", 'y')] (Just (Right ('a':|"bcde"))))
--   Just "abc"
--   
allThese1 :: Traversable f => Traversal' (This f a b) a -- |
--   >>> over allThese2 Data.Char.toUpper (This [("abc", 'x'), ("def", 'y')] Nothing)
--   This [("abc",'X'),("def",'Y')] Nothing
--   
--   >>> over allThese2 Data.Char.toUpper (This [("abc", 'x'), ("def", 'y')] (Just (Left ("abc":|["def"]))))
--   This [("abc",'X'),("def",'Y')] Just (Left ("abc" :| ["def"]))
--   
--   >>> over allThese2 Data.Char.toUpper (This [("abc", 'x'), ("def", 'y')] (Just (Right ('a':|"bcde"))))
--   This [("abc",'X'),("def",'Y')] Just (Right ('a' :| "bcde"))
--   
--   >>> Control.Lens.preview allThese2 (This [("abc", 'x'), ("def", 'y')] Nothing)
--   Just 'x'
--   
--   >>> Control.Lens.preview allThese2 (This [("abc", 'x'), ("def", 'y')] (Just (Left ("abc":|["def"]))))
--   Just 'x'
--   
--   >>> Control.Lens.preview allThese2 (This [("abc", 'x'), ("def", 'y')] (Just (Right ('a':|"bcde"))))
--   Just 'x'
--   
allThese2 :: Traversable f => Traversal' (This f a b) b -- |
--   >>> over allThose (bimap (fmap reverse) (fmap Data.Char.toUpper)) (This [("abc", 'x'), ("def", 'y')] Nothing)
--   This [("abc",'x'),("def",'y')] Nothing
--   
--   >>> over allThose (bimap (fmap reverse) (fmap Data.Char.toUpper)) (This [("abc", 'x'), ("def", 'y')] (Just (Left ("abc":|["def"]))))
--   This [("abc",'x'),("def",'y')] Just (Left ("cba" :| ["fed"]))
--   
--   >>> over allThose (bimap (fmap reverse) (fmap Data.Char.toUpper)) (This [("abc", 'x'), ("def", 'y')] (Just (Right ('a':|"bcde"))))
--   This [("abc",'x'),("def",'y')] Just (Right ('A' :| "BCDE"))
--   
--   >>> Control.Lens.preview allThose (This [("abc", 'x'), ("def", 'y')] Nothing)
--   Nothing
--   
--   >>> Control.Lens.preview allThose (This [("abc", 'x'), ("def", 'y')] (Just (Left ("abc":|["def"]))))
--   Just (Left ("abc" :| ["def"]))
--   
--   >>> Control.Lens.preview allThose (This [("abc", 'x'), ("def", 'y')] (Just (Right ('a':|"bcde"))))
--   Just (Right ('a' :| "bcde"))
--   
allThose :: Traversal' (This f a b) (Either (NonEmpty a) (NonEmpty b)) -- |
--   >>> over allThoseA (fmap reverse) (This [("abc", 'x'), ("def", 'y')] Nothing)
--   This [("abc",'x'),("def",'y')] Nothing
--   
--   >>> over allThoseA (fmap reverse) (This [("abc", 'x'), ("def", 'y')] (Just (Left ("abc":|["def"]))))
--   This [("abc",'x'),("def",'y')] Just (Left ("cba" :| ["fed"]))
--   
--   >>> over allThoseA (fmap reverse) (This [("abc", 'x'), ("def", 'y')] (Just (Right ('a':|"bcde"))))
--   This [("abc",'x'),("def",'y')] Just (Right ('a' :| "bcde"))
--   
--   >>> Control.Lens.preview allThoseA (This [("abc", 'x'), ("def", 'y')] Nothing)
--   Nothing
--   
--   >>> Control.Lens.preview allThoseA (This [("abc", 'x'), ("def", 'y')] (Just (Left ("abc":|["def"]))))
--   Just ("abc" :| ["def"])
--   
--   >>> Control.Lens.preview allThoseA (This [("abc", 'x'), ("def", 'y')] (Just (Right ('a':|"bcde"))))
--   Nothing
--   
allThoseA :: Traversal' (This f a b) (NonEmpty a) -- |
--   >>> over allThoseA' reverse (This [("abc", 'x'), ("def", 'y')] Nothing)
--   This [("abc",'x'),("def",'y')] Nothing
--   
--   >>> over allThoseA' reverse (This [("abc", 'x'), ("def", 'y')] (Just (Left ("abc":|["def"]))))
--   This [("abc",'x'),("def",'y')] Just (Left ("cba" :| ["fed"]))
--   
--   >>> over allThoseA' reverse (This [("abc", 'x'), ("def", 'y')] (Just (Right ('a':|"bcde"))))
--   This [("abc",'x'),("def",'y')] Just (Right ('a' :| "bcde"))
--   
--   >>> Control.Lens.preview allThoseA' (This [("abc", 'x'), ("def", 'y')] Nothing)
--   Nothing
--   
--   >>> Control.Lens.preview allThoseA' (This [("abc", 'x'), ("def", 'y')] (Just (Left ("abc":|["def"]))))
--   Just "abc"
--   
--   >>> Control.Lens.preview allThoseA' (This [("abc", 'x'), ("def", 'y')] (Just (Right ('a':|"bcde"))))
--   Nothing
--   
allThoseA' :: Traversable f => Traversal' (This f a b) a -- |
--   >>> over allThoseBOr reverse (This [("abc", 'x'), ("def", 'y')] Nothing)
--   This [("abc",'x'),("def",'y')] Nothing
--   
--   >>> over allThoseBOr reverse (This [("abc", 'x'), ("def", 'y')] (Just (Left ("abc":|["def"]))))
--   This [("abc",'x'),("def",'y')] Just (Left ("abc" :| ["def"]))
--   
--   >>> over allThoseBOr reverse (This [("abc", 'x'), ("def", 'y')] (Just (Right ('a':|"bcde"))))
--   This [("abc",'x'),("def",'y')] Just (Right ('e' :| "dcba"))
--   
--   >>> Control.Lens.preview allThoseBOr (This [("abc", 'x'), ("def", 'y')] Nothing)
--   Just ""
--   
--   >>> Control.Lens.preview allThoseBOr (This [("abc", 'x'), ("def", 'y')] (Just (Left ("abc":|["def"]))))
--   Nothing
--   
--   >>> Control.Lens.preview allThoseBOr (This [("abc", 'x'), ("def", 'y')] (Just (Right ('a':|"bcde"))))
--   Just "abcde"
--   
allThoseAOr :: Traversal' (This f a b) [a] -- |
--   >>> over allThoseB (fmap Data.Char.toUpper) (This [("abc", 'x'), ("def", 'y')] Nothing)
--   This [("abc",'x'),("def",'y')] Nothing
--   
--   >>> over allThoseB (fmap Data.Char.toUpper) (This [("abc", 'x'), ("def", 'y')] (Just (Left ("abc":|["def"]))))
--   This [("abc",'x'),("def",'y')] Just (Left ("abc" :| ["def"]))
--   
--   >>> over allThoseB (fmap Data.Char.toUpper) (This [("abc", 'x'), ("def", 'y')] (Just (Right ('a':|"bcde"))))
--   This [("abc",'x'),("def",'y')] Just (Right ('A' :| "BCDE"))
--   
--   >>> Control.Lens.preview allThoseB (This [("abc", 'x'), ("def", 'y')] Nothing)
--   Nothing
--   
--   >>> Control.Lens.preview allThoseB (This [("abc", 'x'), ("def", 'y')] (Just (Left ("abc":|["def"]))))
--   Nothing
--   
--   >>> Control.Lens.preview allThoseB (This [("abc", 'x'), ("def", 'y')] (Just (Right ('a':|"bcde"))))
--   Just ('a' :| "bcde")
--   
allThoseB :: Traversal' (This f a b) (NonEmpty b) -- |
--   >>> over allThoseB' Data.Char.toUpper (This [("abc", 'x'), ("def", 'y')] Nothing)
--   This [("abc",'x'),("def",'y')] Nothing
--   
--   >>> over allThoseB' Data.Char.toUpper (This [("abc", 'x'), ("def", 'y')] (Just (Left ("abc":|["def"]))))
--   This [("abc",'x'),("def",'y')] Just (Left ("abc" :| ["def"]))
--   
--   >>> over allThoseB' Data.Char.toUpper (This [("abc", 'x'), ("def", 'y')] (Just (Right ('a':|"bcde"))))
--   This [("abc",'x'),("def",'y')] Just (Right ('A' :| "BCDE"))
--   
--   >>> Control.Lens.preview allThoseB' (This [("abc", 'x'), ("def", 'y')] Nothing)
--   Nothing
--   
--   >>> Control.Lens.preview allThoseB' (This [("abc", 'x'), ("def", 'y')] (Just (Left ("abc":|["def"]))))
--   Nothing
--   
--   >>> Control.Lens.preview allThoseB' (This [("abc", 'x'), ("def", 'y')] (Just (Right ('a':|"bcde"))))
--   Just 'a'
--   
allThoseB' :: Traversable f => Traversal' (This f a b) b -- |
--   >>> over allThoseBOr reverse (This [("abc", 'x'), ("def", 'y')] Nothing)
--   This [("abc",'x'),("def",'y')] Nothing
--   
--   >>> over allThoseBOr reverse (This [("abc", 'x'), ("def", 'y')] (Just (Left ("abc":|["def"]))))
--   This [("abc",'x'),("def",'y')] Just (Left ("abc" :| ["def"]))
--   
--   >>> over allThoseBOr reverse (This [("abc", 'x'), ("def", 'y')] (Just (Right ('a':|"bcde"))))
--   This [("abc",'x'),("def",'y')] Just (Right ('e' :| "dcba"))
--   
--   >>> Control.Lens.preview allThoseBOr (This [("abc", 'x'), ("def", 'y')] Nothing)
--   Just ""
--   
--   >>> Control.Lens.preview allThoseBOr (This [("abc", 'x'), ("def", 'y')] (Just (Left ("abc":|["def"]))))
--   Nothing
--   
--   >>> Control.Lens.preview allThoseBOr (This [("abc", 'x'), ("def", 'y')] (Just (Right ('a':|"bcde"))))
--   Just "abcde"
--   
allThoseBOr :: Traversal' (This f a b) [b] -- |
--   >>> over allTheseThoseA (fmap Data.Char.toUpper) (This [("abc", 'x'), ("def", 'y')] Nothing)
--   This [("ABC",'x'),("DEF",'y')] Nothing
--   
--   >>> over allTheseThoseA (fmap Data.Char.toUpper) (This [("abc", 'x'), ("def", 'y')] (Just (Left ("abc":|["def"]))))
--   This [("ABC",'x'),("DEF",'y')] Just (Left ("ABC" :| ["DEF"]))
--   
--   >>> over allTheseThoseA (fmap Data.Char.toUpper) (This [("abc", 'x'), ("def", 'y')] (Just (Right ('a':|"bcde"))))
--   This [("ABC",'x'),("DEF",'y')] Just (Right ('a' :| "bcde"))
--   
--   >>> Control.Lens.preview allTheseThoseA (This [("abc", 'x'), ("def", 'y')] Nothing)
--   Just "abc"
--   
--   >>> Control.Lens.preview allTheseThoseA (This [("abc", 'x'), ("def", 'y')] (Just (Left ("abc":|["def"]))))
--   Just "abc"
--   
--   >>> Control.Lens.preview allTheseThoseA (This [("abc", 'x'), ("def", 'y')] (Just (Right ('a':|"bcde"))))
--   Just "abc"
--   
allTheseThoseA :: Traversable f => Traversal' (This f a b) a -- |
--   >>> over allTheseThoseB Data.Char.toUpper (This [("abc", 'x'), ("def", 'y')] Nothing)
--   This [("abc",'X'),("def",'Y')] Nothing
--   
--   >>> over allTheseThoseB Data.Char.toUpper (This [("abc", 'x'), ("def", 'y')] (Just (Left ("abc":|["def"]))))
--   This [("abc",'X'),("def",'Y')] Just (Left ("abc" :| ["def"]))
--   
--   >>> over allTheseThoseB Data.Char.toUpper (This [("abc", 'x'), ("def", 'y')] (Just (Right ('a':|"bcde"))))
--   This [("abc",'X'),("def",'Y')] Just (Right ('A' :| "BCDE"))
--   
--   >>> Control.Lens.preview allTheseThoseB (This [("abc", 'x'), ("def", 'y')] Nothing)
--   Just 'x'
--   
--   >>> Control.Lens.preview allTheseThoseB (This [("abc", 'x'), ("def", 'y')] (Just (Left ("abc":|["def"]))))
--   Just 'x'
--   
--   >>> Control.Lens.preview allTheseThoseB (This [("abc", 'x'), ("def", 'y')] (Just (Right ('a':|"bcde"))))
--   Just 'x'
--   
allTheseThoseB :: Traversable f => Traversal' (This f a b) b instance Data.Alignment.Align [] instance Data.Alignment.Align GHC.Maybe.Maybe instance Data.Alignment.Align Control.Applicative.ZipList instance Data.Alignment.Semialign [] instance Data.Alignment.Semialign GHC.Maybe.Maybe instance Data.Alignment.Semialign Data.Functor.Identity.Identity instance Data.Alignment.Semialign GHC.Base.NonEmpty instance Data.Alignment.Semialign Control.Applicative.ZipList instance GHC.Base.Semigroup (Data.Alignment.This [] a b) instance GHC.Base.Semigroup (Data.Alignment.This GHC.Base.NonEmpty a b) instance (Data.Functor.Classes.Eq1 f, GHC.Classes.Eq a, GHC.Classes.Eq b) => GHC.Classes.Eq (Data.Alignment.This f a b) instance (Data.Functor.Classes.Eq1 f, GHC.Classes.Eq a) => Data.Functor.Classes.Eq1 (Data.Alignment.This f a) instance (Data.Functor.Classes.Ord1 f, GHC.Classes.Ord a, GHC.Classes.Ord b) => GHC.Classes.Ord (Data.Alignment.This f a b) instance (Data.Functor.Classes.Ord1 f, GHC.Classes.Ord a) => Data.Functor.Classes.Ord1 (Data.Alignment.This f a) instance (Data.Functor.Classes.Show1 f, GHC.Show.Show a, GHC.Show.Show b) => GHC.Show.Show (Data.Alignment.This f a b) instance (Data.Functor.Classes.Show1 f, GHC.Show.Show a) => Data.Functor.Classes.Show1 (Data.Alignment.This f a) instance GHC.Base.Functor f => Data.Bifunctor.Bifunctor (Data.Alignment.This f) instance Data.Foldable.Foldable f => Data.Bifoldable.Bifoldable (Data.Alignment.This f) instance Data.Traversable.Traversable f => Data.Bitraversable.Bitraversable (Data.Alignment.This f) instance GHC.Base.Functor f => GHC.Base.Functor (Data.Alignment.This f a) instance (GHC.Base.Semigroup a, Data.Functor.Bind.Class.Apply f) => Data.Functor.Bind.Class.Apply (Data.Alignment.This f a) instance (GHC.Base.Monoid a, GHC.Base.Applicative f) => GHC.Base.Applicative (Data.Alignment.This f a) instance GHC.Base.Functor f => Data.Bifunctor.Swap.Swap (Data.Alignment.This f) instance GHC.Base.Monoid (Data.Alignment.This [] a b)