packages feed

lens 4.9.1 → 4.10

raw patch · 17 files changed

+189/−98 lines, 17 filesdep ~bifunctorsdep ~profunctorsdep ~semigroupoidsPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: bifunctors, profunctors, semigroupoids

API changes (from Hackage documentation)

- Control.Lens.At: instance (a ~ a2) => Ixed (a, a2)
- Control.Lens.Cons: instance (a ~ b) => Cons (NonEmpty a) (NonEmpty b) a b
- Control.Lens.Cons: instance (a ~ b) => Snoc (NonEmpty a) (NonEmpty b) a b
- Control.Lens.Each: instance (c ~ d) => Each (HashMap c a) (HashMap d b) a b
- Control.Lens.Each: instance (c ~ d) => Each (Map c a) (Map d b) a b
- Control.Lens.Equality: [Identical] :: Identical a b a b
- Control.Lens.Getter: [Const] :: a -> Const a b
- Control.Lens.Getter: [getConst] :: Const a b -> a
- Control.Lens.Indexed: [Indexed] :: (i -> a -> b) -> Indexed i a b
- Control.Lens.Indexed: [runIndexed] :: Indexed i a b -> i -> a -> b
- Control.Lens.Internal.Bazaar: [Bazaar1] :: (forall f. Apply f => p a (f b) -> f t) -> Bazaar1 p a b t
- Control.Lens.Internal.Bazaar: [BazaarT1] :: (forall f. Apply f => p a (f b) -> f t) -> BazaarT1 p a b t
- Control.Lens.Internal.Bazaar: [BazaarT] :: (forall f. Applicative f => p a (f b) -> f t) -> BazaarT p a b t
- Control.Lens.Internal.Bazaar: [Bazaar] :: (forall f. Applicative f => p a (f b) -> f t) -> Bazaar p a b t
- Control.Lens.Internal.Bazaar: [runBazaar1] :: Bazaar1 p a b t -> forall f. Apply f => p a (f b) -> f t
- Control.Lens.Internal.Bazaar: [runBazaarT1] :: BazaarT1 p a b t -> forall f. Apply f => p a (f b) -> f t
- Control.Lens.Internal.Bazaar: [runBazaarT] :: BazaarT p a b t -> forall f. Applicative f => p a (f b) -> f t
- Control.Lens.Internal.Bazaar: [runBazaar] :: Bazaar p a b t -> forall f. Applicative f => p a (f b) -> f t
- Control.Lens.Internal.Context: [Context] :: (b -> t) -> a -> Context a b t
- Control.Lens.Internal.Context: [PretextT] :: (forall f. Functor f => p a (f b) -> f t) -> PretextT p a b t
- Control.Lens.Internal.Context: [Pretext] :: (forall f. Functor f => p a (f b) -> f t) -> Pretext p a b t
- Control.Lens.Internal.Context: [runPretextT] :: PretextT p a b t -> forall f. Functor f => p a (f b) -> f t
- Control.Lens.Internal.Context: [runPretext] :: Pretext p a b t -> forall f. Functor f => p a (f b) -> f t
- Control.Lens.Internal.Context: instance (a ~ b) => Comonad (Context a b)
- Control.Lens.Internal.Context: instance (a ~ b) => ComonadStore a (Context a b)
- Control.Lens.Internal.Deque: [BD] :: !Int -> [a] -> !Int -> [a] -> Deque a
- Control.Lens.Internal.Exception: [HandlingException] :: HandlingException
- Control.Lens.Internal.Exception: instance forall (k :: BOX) a (s :: k) (m :: * -> *). (Reifies s (SomeException -> Maybe a), Typeable (Handling a s m)) => Exception (Handling a s m)
- Control.Lens.Internal.Exception: instance forall (k :: BOX) a (s :: k) (m :: * -> *). Show (Handling a s m)
- Control.Lens.Internal.FieldTH: [LensRules] :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> (Name -> [Name] -> Name -> [DefName]) -> (Name -> Maybe (Name, Name)) -> LensRules
- Control.Lens.Internal.FieldTH: [MethodName] :: Name -> Name -> DefName
- Control.Lens.Internal.FieldTH: [TopName] :: Name -> DefName
- Control.Lens.Internal.FieldTH: [_allowIsos] :: LensRules -> Bool
- Control.Lens.Internal.FieldTH: [_allowUpdates] :: LensRules -> Bool
- Control.Lens.Internal.FieldTH: [_classyLenses] :: LensRules -> Name -> Maybe (Name, Name)
- Control.Lens.Internal.FieldTH: [_fieldToDef] :: LensRules -> Name -> [Name] -> Name -> [DefName]
- Control.Lens.Internal.FieldTH: [_generateClasses] :: LensRules -> Bool
- Control.Lens.Internal.FieldTH: [_generateSigs] :: LensRules -> Bool
- Control.Lens.Internal.FieldTH: [_lazyPatterns] :: LensRules -> Bool
- Control.Lens.Internal.FieldTH: [_simpleLenses] :: LensRules -> Bool
- Control.Lens.Internal.Fold: [Folding] :: f a -> Folding f a
- Control.Lens.Internal.Fold: [LLeaf] :: a -> Leftmost a
- Control.Lens.Internal.Fold: [LPure] :: Leftmost a
- Control.Lens.Internal.Fold: [LStep] :: (Leftmost a) -> Leftmost a
- Control.Lens.Internal.Fold: [M] :: a -> M a s
- Control.Lens.Internal.Fold: [Max] :: a -> Max a
- Control.Lens.Internal.Fold: [Min] :: a -> Min a
- Control.Lens.Internal.Fold: [NoMax] :: Max a
- Control.Lens.Internal.Fold: [NoMin] :: Min a
- Control.Lens.Internal.Fold: [RLeaf] :: a -> Rightmost a
- Control.Lens.Internal.Fold: [RPure] :: Rightmost a
- Control.Lens.Internal.Fold: [RStep] :: (Rightmost a) -> Rightmost a
- Control.Lens.Internal.Fold: [ReifiedMonoid] :: (a -> a -> a) -> a -> ReifiedMonoid a
- Control.Lens.Internal.Fold: [Sequenced] :: m a -> Sequenced a m
- Control.Lens.Internal.Fold: [Traversed] :: f a -> Traversed a f
- Control.Lens.Internal.Fold: [getFolding] :: Folding f a -> f a
- Control.Lens.Internal.Fold: [getSequenced] :: Sequenced a m -> m a
- Control.Lens.Internal.Fold: [getTraversed] :: Traversed a f -> f a
- Control.Lens.Internal.Fold: [reifiedMappend] :: ReifiedMonoid a -> a -> a -> a
- Control.Lens.Internal.Fold: [reifiedMempty] :: ReifiedMonoid a -> a
- Control.Lens.Internal.Getter: [AlongsideLeft] :: f (a, b) -> AlongsideLeft f b a
- Control.Lens.Internal.Getter: [AlongsideRight] :: f (a, b) -> AlongsideRight f a b
- Control.Lens.Internal.Getter: [getAlongsideLeft] :: AlongsideLeft f b a -> f (a, b)
- Control.Lens.Internal.Getter: [getAlongsideRight] :: AlongsideRight f a b -> f (a, b)
- Control.Lens.Internal.Indexed: [Indexed] :: (i -> a -> b) -> Indexed i a b
- Control.Lens.Internal.Indexed: [Indexing64] :: (Int64 -> (Int64, f a)) -> Indexing64 f a
- Control.Lens.Internal.Indexed: [Indexing] :: (Int -> (Int, f a)) -> Indexing f a
- Control.Lens.Internal.Indexed: [runIndexed] :: Indexed i a b -> i -> a -> b
- Control.Lens.Internal.Indexed: [runIndexing64] :: Indexing64 f a -> Int64 -> (Int64, f a)
- Control.Lens.Internal.Indexed: [runIndexing] :: Indexing f a -> Int -> (Int, f a)
- Control.Lens.Internal.Indexed: instance (i ~ j) => Indexable i (Indexed j)
- Control.Lens.Internal.Iso: [Exchange] :: (s -> a) -> (b -> t) -> Exchange a b s t
- Control.Lens.Internal.Level: [Deepening] :: (forall r. Int -> (Level i a -> Bool -> r) -> r) -> Deepening i a
- Control.Lens.Internal.Level: [Flows] :: ([Level i b] -> a) -> Flows i b a
- Control.Lens.Internal.Level: [One] :: i -> a -> Level i a
- Control.Lens.Internal.Level: [Two] :: {-# UNPACK #-} !Word -> !(Level i a) -> !(Level i a) -> Level i a
- Control.Lens.Internal.Level: [Zero] :: Level i a
- Control.Lens.Internal.Level: [runDeepening] :: Deepening i a -> forall r. Int -> (Level i a -> Bool -> r) -> r
- Control.Lens.Internal.Level: [runFlows] :: Flows i b a -> [Level i b] -> a
- Control.Lens.Internal.Magma: [Mafic] :: Int -> (Int -> Magma Int t b a) -> Mafic a b t
- Control.Lens.Internal.Magma: [MagmaAp] :: Magma i (x -> y) b a -> Magma i x b a -> Magma i y b a
- Control.Lens.Internal.Magma: [MagmaFmap] :: (x -> y) -> Magma i x b a -> Magma i y b a
- Control.Lens.Internal.Magma: [MagmaPure] :: x -> Magma i x b a
- Control.Lens.Internal.Magma: [Magma] :: i -> a -> Magma i b b a
- Control.Lens.Internal.Magma: [Molten] :: Magma i t b a -> Molten i a b t
- Control.Lens.Internal.Magma: [TakingWhile] :: Bool -> t -> (Bool -> Magma () t b (Corep p a)) -> TakingWhile p a b t
- Control.Lens.Internal.Magma: [runMolten] :: Molten i a b t -> Magma i t b a
- Control.Lens.Internal.Magma: instance (a ~ b) => Comonad (Molten i a b)
- Control.Lens.Internal.Prism: [Market] :: (b -> t) -> (s -> Either t a) -> Market a b s t
- Control.Lens.Internal.Zoom: [EffectRWS] :: (st -> m (s, st, w)) -> EffectRWS w st m s a
- Control.Lens.Internal.Zoom: [Effect] :: m r -> Effect m r a
- Control.Lens.Internal.Zoom: [Err] :: Either e a -> Err e a
- Control.Lens.Internal.Zoom: [FocusingErr] :: k (Err e s) a -> FocusingErr e k s a
- Control.Lens.Internal.Zoom: [FocusingMay] :: k (May s) a -> FocusingMay k s a
- Control.Lens.Internal.Zoom: [FocusingOn] :: k (f s) a -> FocusingOn f k s a
- Control.Lens.Internal.Zoom: [FocusingPlus] :: k (s, w) a -> FocusingPlus w k s a
- Control.Lens.Internal.Zoom: [FocusingWith] :: m (s, a, w) -> FocusingWith w m s a
- Control.Lens.Internal.Zoom: [Focusing] :: m (s, a) -> Focusing m s a
- Control.Lens.Internal.Zoom: [May] :: Maybe a -> May a
- Control.Lens.Internal.Zoom: [getEffectRWS] :: EffectRWS w st m s a -> st -> m (s, st, w)
- Control.Lens.Internal.Zoom: [getEffect] :: Effect m r a -> m r
- Control.Lens.Internal.Zoom: [getErr] :: Err e a -> Either e a
- Control.Lens.Internal.Zoom: [getMay] :: May a -> Maybe a
- Control.Lens.Internal.Zoom: [unfocusingErr] :: FocusingErr e k s a -> k (Err e s) a
- Control.Lens.Internal.Zoom: [unfocusingMay] :: FocusingMay k s a -> k (May s) a
- Control.Lens.Internal.Zoom: [unfocusingOn] :: FocusingOn f k s a -> k (f s) a
- Control.Lens.Internal.Zoom: [unfocusingPlus] :: FocusingPlus w k s a -> k (s, w) a
- Control.Lens.Internal.Zoom: [unfocusingWith] :: FocusingWith w m s a -> m (s, a, w)
- Control.Lens.Internal.Zoom: [unfocusing] :: Focusing m s a -> m (s, a)
- Control.Lens.Lens: [Context] :: (b -> t) -> a -> Context a b t
- Control.Lens.Plated: instance (GPlated a f, GPlated a g) => GPlated a (f :*: g)
- Control.Lens.Plated: instance (GPlated a f, GPlated a g) => GPlated a (f :+: g)
- Control.Lens.Plated: instance (Traversable f, Traversable m) => Plated (FreeT f m a)
- Control.Lens.Plated: instance GPlated a (K1 i b)
- Control.Lens.Plated: instance GPlated a U1
- Control.Lens.Plated: instance GPlated a V1
- Control.Lens.Plated: instance GPlated a f => GPlated a (M1 i c f)
- Control.Lens.Plated: instance Plated (Tree a)
- Control.Lens.Plated: instance Plated Con
- Control.Lens.Plated: instance Plated Dec
- Control.Lens.Plated: instance Plated Exp
- Control.Lens.Plated: instance Plated Pat
- Control.Lens.Plated: instance Plated Stmt
- Control.Lens.Plated: instance Plated Type
- Control.Lens.Plated: instance Plated [a]
- Control.Lens.Plated: instance Traversable f => Plated (Cofree f a)
- Control.Lens.Plated: instance Traversable f => Plated (F f a)
- Control.Lens.Plated: instance Traversable f => Plated (Free f a)
- Control.Lens.Plated: instance [overlapping] GPlated a (K1 i a)
- Control.Lens.Reified: [Fold] :: Fold s a -> ReifiedFold s a
- Control.Lens.Reified: [Getter] :: Getter s a -> ReifiedGetter s a
- Control.Lens.Reified: [IndexedFold] :: IndexedFold i s a -> ReifiedIndexedFold i s a
- Control.Lens.Reified: [IndexedGetter] :: IndexedGetter i s a -> ReifiedIndexedGetter i s a
- Control.Lens.Reified: [IndexedLens] :: IndexedLens i s t a b -> ReifiedIndexedLens i s t a b
- Control.Lens.Reified: [IndexedSetter] :: IndexedSetter i s t a b -> ReifiedIndexedSetter i s t a b
- Control.Lens.Reified: [IndexedTraversal] :: IndexedTraversal i s t a b -> ReifiedIndexedTraversal i s t a b
- Control.Lens.Reified: [Iso] :: Iso s t a b -> ReifiedIso s t a b
- Control.Lens.Reified: [Lens] :: Lens s t a b -> ReifiedLens s t a b
- Control.Lens.Reified: [Prism] :: Prism s t a b -> ReifiedPrism s t a b
- Control.Lens.Reified: [Setter] :: Setter s t a b -> ReifiedSetter s t a b
- Control.Lens.Reified: [Traversal] :: Traversal s t a b -> ReifiedTraversal s t a b
- Control.Lens.Reified: [runFold] :: ReifiedFold s a -> Fold s a
- Control.Lens.Reified: [runGetter] :: ReifiedGetter s a -> Getter s a
- Control.Lens.Reified: [runIndexedFold] :: ReifiedIndexedFold i s a -> IndexedFold i s a
- Control.Lens.Reified: [runIndexedGetter] :: ReifiedIndexedGetter i s a -> IndexedGetter i s a
- Control.Lens.Reified: [runIndexedLens] :: ReifiedIndexedLens i s t a b -> IndexedLens i s t a b
- Control.Lens.Reified: [runIndexedSetter] :: ReifiedIndexedSetter i s t a b -> IndexedSetter i s t a b
- Control.Lens.Reified: [runIndexedTraversal] :: ReifiedIndexedTraversal i s t a b -> IndexedTraversal i s t a b
- Control.Lens.Reified: [runIso] :: ReifiedIso s t a b -> Iso s t a b
- Control.Lens.Reified: [runLens] :: ReifiedLens s t a b -> Lens s t a b
- Control.Lens.Reified: [runPrism] :: ReifiedPrism s t a b -> Prism s t a b
- Control.Lens.Reified: [runSetter] :: ReifiedSetter s t a b -> Setter s t a b
- Control.Lens.Reified: [runTraversal] :: ReifiedTraversal s t a b -> Traversal s t a b
- Control.Lens.Setter: [Identity] :: a -> Identity a
- Control.Lens.Setter: [runIdentity] :: Identity a -> a
- Control.Lens.TH: [MethodName] :: Name -> Name -> DefName
- Control.Lens.TH: [TopName] :: Name -> DefName
- Control.Lens.Traversal: [Bazaar1] :: (forall f. Apply f => p a (f b) -> f t) -> Bazaar1 p a b t
- Control.Lens.Traversal: [Bazaar] :: (forall f. Applicative f => p a (f b) -> f t) -> Bazaar p a b t
- Control.Lens.Traversal: [runBazaar1] :: Bazaar1 p a b t -> forall f. Apply f => p a (f b) -> f t
- Control.Lens.Traversal: [runBazaar] :: Bazaar p a b t -> forall f. Applicative f => p a (f b) -> f t
- Control.Lens.Wrapped: instance (t ~ All) => Rewrapped All t
- Control.Lens.Wrapped: instance (t ~ Any) => Rewrapped Any t
- Control.Lens.Wrapped: instance (t ~ AssertionFailed) => Rewrapped AssertionFailed t
- Control.Lens.Wrapped: instance (t ~ Backwards g b) => Rewrapped (Backwards f a) t
- Control.Lens.Wrapped: instance (t ~ Comparison b) => Rewrapped (Comparison a) t
- Control.Lens.Wrapped: instance (t ~ Compose f' g' a') => Rewrapped (Compose f g a) t
- Control.Lens.Wrapped: instance (t ~ ComposeCF f' g' a') => Rewrapped (ComposeCF f g a) t
- Control.Lens.Wrapped: instance (t ~ ComposeFC f' g' a') => Rewrapped (ComposeFC f g a) t
- Control.Lens.Wrapped: instance (t ~ Const a' x') => Rewrapped (Const a x) t
- Control.Lens.Wrapped: instance (t ~ Constant a' b') => Rewrapped (Constant a b) t
- Control.Lens.Wrapped: instance (t ~ ContT r' m' a') => Rewrapped (ContT r m a) t
- Control.Lens.Wrapped: instance (t ~ Coproduct f' g' a') => Rewrapped (Coproduct f g a) t
- Control.Lens.Wrapped: instance (t ~ Dual b) => Rewrapped (Dual a) t
- Control.Lens.Wrapped: instance (t ~ Endo b) => Rewrapped (Endo b) t
- Control.Lens.Wrapped: instance (t ~ Equivalence b) => Rewrapped (Equivalence a) t
- Control.Lens.Wrapped: instance (t ~ ErrorCall) => Rewrapped ErrorCall t
- Control.Lens.Wrapped: instance (t ~ ErrorT e' m' a') => Rewrapped (ErrorT e m a) t
- Control.Lens.Wrapped: instance (t ~ First b) => Rewrapped (First a) t
- Control.Lens.Wrapped: instance (t ~ Identity b) => Rewrapped (Identity a) t
- Control.Lens.Wrapped: instance (t ~ IdentityT n b) => Rewrapped (IdentityT m a) t
- Control.Lens.Wrapped: instance (t ~ IntMap a') => Rewrapped (IntMap a) t
- Control.Lens.Wrapped: instance (t ~ IntSet) => Rewrapped IntSet t
- Control.Lens.Wrapped: instance (t ~ Kleisli m' a' b') => Rewrapped (Kleisli m a b) t
- Control.Lens.Wrapped: instance (t ~ Last b) => Rewrapped (Last a) t
- Control.Lens.Wrapped: instance (t ~ ListT n b) => Rewrapped (ListT m a) t
- Control.Lens.Wrapped: instance (t ~ Max b) => Rewrapped (Max a) t
- Control.Lens.Wrapped: instance (t ~ MaybeT n b) => Rewrapped (MaybeT m a) t
- Control.Lens.Wrapped: instance (t ~ Min b) => Rewrapped (Min a) t
- Control.Lens.Wrapped: instance (t ~ NoMethodError) => Rewrapped NoMethodError t
- Control.Lens.Wrapped: instance (t ~ NonEmpty b) => Rewrapped (NonEmpty a) t
- Control.Lens.Wrapped: instance (t ~ Op a' b') => Rewrapped (Op a b) t
- Control.Lens.Wrapped: instance (t ~ Option b) => Rewrapped (Option a) t
- Control.Lens.Wrapped: instance (t ~ PatternMatchFail) => Rewrapped PatternMatchFail t
- Control.Lens.Wrapped: instance (t ~ Predicate b) => Rewrapped (Predicate a) t
- Control.Lens.Wrapped: instance (t ~ Product b) => Rewrapped (Product a) t
- Control.Lens.Wrapped: instance (t ~ RWST r' w' s' m' a') => Rewrapped (RWST r w s m a) t
- Control.Lens.Wrapped: instance (t ~ ReaderT r n b) => Rewrapped (ReaderT r m a) t
- Control.Lens.Wrapped: instance (t ~ RecConError) => Rewrapped RecConError t
- Control.Lens.Wrapped: instance (t ~ RecSelError) => Rewrapped RecSelError t
- Control.Lens.Wrapped: instance (t ~ RecUpdError) => Rewrapped RecUpdError t
- Control.Lens.Wrapped: instance (t ~ Reverse g b) => Rewrapped (Reverse f a) t
- Control.Lens.Wrapped: instance (t ~ Seq a') => Rewrapped (Seq a) t
- Control.Lens.Wrapped: instance (t ~ StateT s' m' a') => Rewrapped (StateT s m a) t
- Control.Lens.Wrapped: instance (t ~ Sum b) => Rewrapped (Sum a) t
- Control.Lens.Wrapped: instance (t ~ TracedT m' w' a') => Rewrapped (TracedT m w a) t
- Control.Lens.Wrapped: instance (t ~ Vector a') => Rewrapped (Vector a) t
- Control.Lens.Wrapped: instance (t ~ WrappedArrow a' b' c') => Rewrapped (WrappedArrow a b c) t
- Control.Lens.Wrapped: instance (t ~ WrappedMonad m' a') => Rewrapped (WrappedMonad m a) t
- Control.Lens.Wrapped: instance (t ~ WrappedMonoid b) => Rewrapped (WrappedMonoid a) t
- Control.Lens.Wrapped: instance (t ~ WriterT w' m' a') => Rewrapped (WriterT w m a) t
- Control.Lens.Wrapped: instance (t ~ ZipList b) => Rewrapped (ZipList a) t
- Control.Lens.Wrapped: instance forall (k :: BOX) (f :: k -> *) (a :: k). Wrapped (Alt f a)
- Control.Lens.Wrapped: instance forall (k :: BOX) (k1 :: BOX) (f :: k1 -> *) (a :: k1) t (g :: k -> *) (b :: k). (t ~ Alt g b) => Rewrapped (Alt f a) t
- Control.Lens.Wrapped: instance forall (k :: BOX) (k1 :: BOX) (s :: k1) a t (s' :: k) a'. (t ~ Tagged s' a') => Rewrapped (Tagged s a) t
- Control.Lens.Wrapped: instance forall (k :: BOX) (s :: k) a. Wrapped (Tagged s a)
- Control.Monad.Error.Lens: [Handler] :: (e -> Maybe a) -> (a -> m r) -> Handler e m r
+ Control.Lens.At: instance a ~ a2 => Ixed (a, a2)
+ Control.Lens.Cons: instance a ~ b => Cons (NonEmpty a) (NonEmpty b) a b
+ Control.Lens.Cons: instance a ~ b => Snoc (NonEmpty a) (NonEmpty b) a b
+ Control.Lens.Each: instance c ~ d => Each (HashMap c a) (HashMap d b) a b
+ Control.Lens.Each: instance c ~ d => Each (Map c a) (Map d b) a b
+ Control.Lens.Equality: Identical :: Identical a b a b
+ Control.Lens.Fold: elemIndexOf :: Eq a => IndexedGetting i (First i) s a -> a -> s -> Maybe i
+ Control.Lens.Fold: elemIndicesOf :: Eq a => IndexedGetting i (Endo [i]) s a -> a -> s -> [i]
+ Control.Lens.Fold: findIndexOf :: IndexedGetting i (First i) s a -> (a -> Bool) -> s -> Maybe i
+ Control.Lens.Fold: findIndicesOf :: IndexedGetting i (Endo [i]) s a -> (a -> Bool) -> s -> [i]
+ Control.Lens.Getter: Const :: a -> Const a b
+ Control.Lens.Getter: getConst :: Const a b -> a
+ Control.Lens.Indexed: Indexed :: (i -> a -> b) -> Indexed i a b
+ Control.Lens.Indexed: runIndexed :: Indexed i a b -> i -> a -> b
+ Control.Lens.Internal.Bazaar: Bazaar :: (forall f. Applicative f => p a (f b) -> f t) -> Bazaar p a b t
+ Control.Lens.Internal.Bazaar: Bazaar1 :: (forall f. Apply f => p a (f b) -> f t) -> Bazaar1 p a b t
+ Control.Lens.Internal.Bazaar: BazaarT :: (forall f. Applicative f => p a (f b) -> f t) -> BazaarT p a b t
+ Control.Lens.Internal.Bazaar: BazaarT1 :: (forall f. Apply f => p a (f b) -> f t) -> BazaarT1 p a b t
+ Control.Lens.Internal.Bazaar: runBazaar :: Bazaar p a b t -> forall f. Applicative f => p a (f b) -> f t
+ Control.Lens.Internal.Bazaar: runBazaar1 :: Bazaar1 p a b t -> forall f. Apply f => p a (f b) -> f t
+ Control.Lens.Internal.Bazaar: runBazaarT :: BazaarT p a b t -> forall f. Applicative f => p a (f b) -> f t
+ Control.Lens.Internal.Bazaar: runBazaarT1 :: BazaarT1 p a b t -> forall f. Apply f => p a (f b) -> f t
+ Control.Lens.Internal.Context: Context :: (b -> t) -> a -> Context a b t
+ Control.Lens.Internal.Context: Pretext :: (forall f. Functor f => p a (f b) -> f t) -> Pretext p a b t
+ Control.Lens.Internal.Context: PretextT :: (forall f. Functor f => p a (f b) -> f t) -> PretextT p a b t
+ Control.Lens.Internal.Context: instance a ~ b => Comonad (Context a b)
+ Control.Lens.Internal.Context: instance a ~ b => ComonadStore a (Context a b)
+ Control.Lens.Internal.Context: runPretext :: Pretext p a b t -> forall f. Functor f => p a (f b) -> f t
+ Control.Lens.Internal.Context: runPretextT :: PretextT p a b t -> forall f. Functor f => p a (f b) -> f t
+ Control.Lens.Internal.Deque: BD :: !Int -> [a] -> !Int -> [a] -> Deque a
+ Control.Lens.Internal.Exception: HandlingException :: HandlingException
+ Control.Lens.Internal.Exception: instance (Reifies s (SomeException -> Maybe a), Typeable (Handling a s m)) => Exception (Handling a s m)
+ Control.Lens.Internal.Exception: instance Show (Handling a s m)
+ Control.Lens.Internal.Exception: instance Typeable Handling
+ Control.Lens.Internal.Exception: instance Typeable HandlingException
+ Control.Lens.Internal.FieldTH: LensRules :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> (Name -> [Name] -> Name -> [DefName]) -> (Name -> Maybe (Name, Name)) -> LensRules
+ Control.Lens.Internal.FieldTH: MethodName :: Name -> Name -> DefName
+ Control.Lens.Internal.FieldTH: TopName :: Name -> DefName
+ Control.Lens.Internal.FieldTH: _allowIsos :: LensRules -> Bool
+ Control.Lens.Internal.FieldTH: _allowUpdates :: LensRules -> Bool
+ Control.Lens.Internal.FieldTH: _classyLenses :: LensRules -> Name -> Maybe (Name, Name)
+ Control.Lens.Internal.FieldTH: _fieldToDef :: LensRules -> Name -> [Name] -> Name -> [DefName]
+ Control.Lens.Internal.FieldTH: _generateClasses :: LensRules -> Bool
+ Control.Lens.Internal.FieldTH: _generateSigs :: LensRules -> Bool
+ Control.Lens.Internal.FieldTH: _lazyPatterns :: LensRules -> Bool
+ Control.Lens.Internal.FieldTH: _simpleLenses :: LensRules -> Bool
+ Control.Lens.Internal.Fold: Folding :: f a -> Folding f a
+ Control.Lens.Internal.Fold: LLeaf :: a -> Leftmost a
+ Control.Lens.Internal.Fold: LPure :: Leftmost a
+ Control.Lens.Internal.Fold: LStep :: (Leftmost a) -> Leftmost a
+ Control.Lens.Internal.Fold: M :: a -> M a s
+ Control.Lens.Internal.Fold: Max :: a -> Max a
+ Control.Lens.Internal.Fold: Min :: a -> Min a
+ Control.Lens.Internal.Fold: NoMax :: Max a
+ Control.Lens.Internal.Fold: NoMin :: Min a
+ Control.Lens.Internal.Fold: RLeaf :: a -> Rightmost a
+ Control.Lens.Internal.Fold: RPure :: Rightmost a
+ Control.Lens.Internal.Fold: RStep :: (Rightmost a) -> Rightmost a
+ Control.Lens.Internal.Fold: ReifiedMonoid :: (a -> a -> a) -> a -> ReifiedMonoid a
+ Control.Lens.Internal.Fold: Sequenced :: m a -> Sequenced a m
+ Control.Lens.Internal.Fold: Traversed :: f a -> Traversed a f
+ Control.Lens.Internal.Fold: getFolding :: Folding f a -> f a
+ Control.Lens.Internal.Fold: getSequenced :: Sequenced a m -> m a
+ Control.Lens.Internal.Fold: getTraversed :: Traversed a f -> f a
+ Control.Lens.Internal.Fold: reifiedMappend :: ReifiedMonoid a -> a -> a -> a
+ Control.Lens.Internal.Fold: reifiedMempty :: ReifiedMonoid a -> a
+ Control.Lens.Internal.Getter: AlongsideLeft :: f (a, b) -> AlongsideLeft f b a
+ Control.Lens.Internal.Getter: AlongsideRight :: f (a, b) -> AlongsideRight f a b
+ Control.Lens.Internal.Getter: getAlongsideLeft :: AlongsideLeft f b a -> f (a, b)
+ Control.Lens.Internal.Getter: getAlongsideRight :: AlongsideRight f a b -> f (a, b)
+ Control.Lens.Internal.Indexed: Indexed :: (i -> a -> b) -> Indexed i a b
+ Control.Lens.Internal.Indexed: Indexing :: (Int -> (Int, f a)) -> Indexing f a
+ Control.Lens.Internal.Indexed: Indexing64 :: (Int64 -> (Int64, f a)) -> Indexing64 f a
+ Control.Lens.Internal.Indexed: asIndex :: (Indexable i p, Contravariant f, Functor f) => p i (f i) -> Indexed i s (f s)
+ Control.Lens.Internal.Indexed: instance Cosieve (Indexed i) ((,) i)
+ Control.Lens.Internal.Indexed: instance Sieve (Indexed i) ((->) i)
+ Control.Lens.Internal.Indexed: instance i ~ j => Indexable i (Indexed j)
+ Control.Lens.Internal.Indexed: runIndexed :: Indexed i a b -> i -> a -> b
+ Control.Lens.Internal.Indexed: runIndexing :: Indexing f a -> Int -> (Int, f a)
+ Control.Lens.Internal.Indexed: runIndexing64 :: Indexing64 f a -> Int64 -> (Int64, f a)
+ Control.Lens.Internal.Indexed: withIndex :: (Indexable i p, Functor f) => p (i, s) (f (j, t)) -> Indexed i s (f t)
+ Control.Lens.Internal.Iso: Exchange :: (s -> a) -> (b -> t) -> Exchange a b s t
+ Control.Lens.Internal.Level: Deepening :: (forall r. Int -> (Level i a -> Bool -> r) -> r) -> Deepening i a
+ Control.Lens.Internal.Level: Flows :: ([Level i b] -> a) -> Flows i b a
+ Control.Lens.Internal.Level: One :: i -> a -> Level i a
+ Control.Lens.Internal.Level: Two :: {-# UNPACK #-} !Word -> !(Level i a) -> !(Level i a) -> Level i a
+ Control.Lens.Internal.Level: Zero :: Level i a
+ Control.Lens.Internal.Level: runDeepening :: Deepening i a -> forall r. Int -> (Level i a -> Bool -> r) -> r
+ Control.Lens.Internal.Level: runFlows :: Flows i b a -> [Level i b] -> a
+ Control.Lens.Internal.Magma: Mafic :: Int -> (Int -> Magma Int t b a) -> Mafic a b t
+ Control.Lens.Internal.Magma: Magma :: i -> a -> Magma i b b a
+ Control.Lens.Internal.Magma: MagmaAp :: Magma i (x -> y) b a -> Magma i x b a -> Magma i y b a
+ Control.Lens.Internal.Magma: MagmaFmap :: (x -> y) -> Magma i x b a -> Magma i y b a
+ Control.Lens.Internal.Magma: MagmaPure :: x -> Magma i x b a
+ Control.Lens.Internal.Magma: Molten :: Magma i t b a -> Molten i a b t
+ Control.Lens.Internal.Magma: TakingWhile :: Bool -> t -> (Bool -> Magma () t b (Corep p a)) -> TakingWhile p a b t
+ Control.Lens.Internal.Magma: instance a ~ b => Comonad (Molten i a b)
+ Control.Lens.Internal.Magma: runMolten :: Molten i a b t -> Magma i t b a
+ Control.Lens.Internal.Prism: Market :: (b -> t) -> (s -> Either t a) -> Market a b s t
+ Control.Lens.Internal.Reflection: instance Typeable Stable
+ Control.Lens.Internal.Reflection: instance Typeable T0
+ Control.Lens.Internal.Reflection: instance Typeable T1
+ Control.Lens.Internal.Reflection: instance Typeable T10
+ Control.Lens.Internal.Reflection: instance Typeable T100
+ Control.Lens.Internal.Reflection: instance Typeable T101
+ Control.Lens.Internal.Reflection: instance Typeable T102
+ Control.Lens.Internal.Reflection: instance Typeable T103
+ Control.Lens.Internal.Reflection: instance Typeable T104
+ Control.Lens.Internal.Reflection: instance Typeable T105
+ Control.Lens.Internal.Reflection: instance Typeable T106
+ Control.Lens.Internal.Reflection: instance Typeable T107
+ Control.Lens.Internal.Reflection: instance Typeable T108
+ Control.Lens.Internal.Reflection: instance Typeable T109
+ Control.Lens.Internal.Reflection: instance Typeable T11
+ Control.Lens.Internal.Reflection: instance Typeable T110
+ Control.Lens.Internal.Reflection: instance Typeable T111
+ Control.Lens.Internal.Reflection: instance Typeable T112
+ Control.Lens.Internal.Reflection: instance Typeable T113
+ Control.Lens.Internal.Reflection: instance Typeable T114
+ Control.Lens.Internal.Reflection: instance Typeable T115
+ Control.Lens.Internal.Reflection: instance Typeable T116
+ Control.Lens.Internal.Reflection: instance Typeable T117
+ Control.Lens.Internal.Reflection: instance Typeable T118
+ Control.Lens.Internal.Reflection: instance Typeable T119
+ Control.Lens.Internal.Reflection: instance Typeable T12
+ Control.Lens.Internal.Reflection: instance Typeable T120
+ Control.Lens.Internal.Reflection: instance Typeable T121
+ Control.Lens.Internal.Reflection: instance Typeable T122
+ Control.Lens.Internal.Reflection: instance Typeable T123
+ Control.Lens.Internal.Reflection: instance Typeable T124
+ Control.Lens.Internal.Reflection: instance Typeable T125
+ Control.Lens.Internal.Reflection: instance Typeable T126
+ Control.Lens.Internal.Reflection: instance Typeable T127
+ Control.Lens.Internal.Reflection: instance Typeable T128
+ Control.Lens.Internal.Reflection: instance Typeable T129
+ Control.Lens.Internal.Reflection: instance Typeable T13
+ Control.Lens.Internal.Reflection: instance Typeable T130
+ Control.Lens.Internal.Reflection: instance Typeable T131
+ Control.Lens.Internal.Reflection: instance Typeable T132
+ Control.Lens.Internal.Reflection: instance Typeable T133
+ Control.Lens.Internal.Reflection: instance Typeable T134
+ Control.Lens.Internal.Reflection: instance Typeable T135
+ Control.Lens.Internal.Reflection: instance Typeable T136
+ Control.Lens.Internal.Reflection: instance Typeable T137
+ Control.Lens.Internal.Reflection: instance Typeable T138
+ Control.Lens.Internal.Reflection: instance Typeable T139
+ Control.Lens.Internal.Reflection: instance Typeable T14
+ Control.Lens.Internal.Reflection: instance Typeable T140
+ Control.Lens.Internal.Reflection: instance Typeable T141
+ Control.Lens.Internal.Reflection: instance Typeable T142
+ Control.Lens.Internal.Reflection: instance Typeable T143
+ Control.Lens.Internal.Reflection: instance Typeable T144
+ Control.Lens.Internal.Reflection: instance Typeable T145
+ Control.Lens.Internal.Reflection: instance Typeable T146
+ Control.Lens.Internal.Reflection: instance Typeable T147
+ Control.Lens.Internal.Reflection: instance Typeable T148
+ Control.Lens.Internal.Reflection: instance Typeable T149
+ Control.Lens.Internal.Reflection: instance Typeable T15
+ Control.Lens.Internal.Reflection: instance Typeable T150
+ Control.Lens.Internal.Reflection: instance Typeable T151
+ Control.Lens.Internal.Reflection: instance Typeable T152
+ Control.Lens.Internal.Reflection: instance Typeable T153
+ Control.Lens.Internal.Reflection: instance Typeable T154
+ Control.Lens.Internal.Reflection: instance Typeable T155
+ Control.Lens.Internal.Reflection: instance Typeable T156
+ Control.Lens.Internal.Reflection: instance Typeable T157
+ Control.Lens.Internal.Reflection: instance Typeable T158
+ Control.Lens.Internal.Reflection: instance Typeable T159
+ Control.Lens.Internal.Reflection: instance Typeable T16
+ Control.Lens.Internal.Reflection: instance Typeable T160
+ Control.Lens.Internal.Reflection: instance Typeable T161
+ Control.Lens.Internal.Reflection: instance Typeable T162
+ Control.Lens.Internal.Reflection: instance Typeable T163
+ Control.Lens.Internal.Reflection: instance Typeable T164
+ Control.Lens.Internal.Reflection: instance Typeable T165
+ Control.Lens.Internal.Reflection: instance Typeable T166
+ Control.Lens.Internal.Reflection: instance Typeable T167
+ Control.Lens.Internal.Reflection: instance Typeable T168
+ Control.Lens.Internal.Reflection: instance Typeable T169
+ Control.Lens.Internal.Reflection: instance Typeable T17
+ Control.Lens.Internal.Reflection: instance Typeable T170
+ Control.Lens.Internal.Reflection: instance Typeable T171
+ Control.Lens.Internal.Reflection: instance Typeable T172
+ Control.Lens.Internal.Reflection: instance Typeable T173
+ Control.Lens.Internal.Reflection: instance Typeable T174
+ Control.Lens.Internal.Reflection: instance Typeable T175
+ Control.Lens.Internal.Reflection: instance Typeable T176
+ Control.Lens.Internal.Reflection: instance Typeable T177
+ Control.Lens.Internal.Reflection: instance Typeable T178
+ Control.Lens.Internal.Reflection: instance Typeable T179
+ Control.Lens.Internal.Reflection: instance Typeable T18
+ Control.Lens.Internal.Reflection: instance Typeable T180
+ Control.Lens.Internal.Reflection: instance Typeable T181
+ Control.Lens.Internal.Reflection: instance Typeable T182
+ Control.Lens.Internal.Reflection: instance Typeable T183
+ Control.Lens.Internal.Reflection: instance Typeable T184
+ Control.Lens.Internal.Reflection: instance Typeable T185
+ Control.Lens.Internal.Reflection: instance Typeable T186
+ Control.Lens.Internal.Reflection: instance Typeable T187
+ Control.Lens.Internal.Reflection: instance Typeable T188
+ Control.Lens.Internal.Reflection: instance Typeable T189
+ Control.Lens.Internal.Reflection: instance Typeable T19
+ Control.Lens.Internal.Reflection: instance Typeable T190
+ Control.Lens.Internal.Reflection: instance Typeable T191
+ Control.Lens.Internal.Reflection: instance Typeable T192
+ Control.Lens.Internal.Reflection: instance Typeable T193
+ Control.Lens.Internal.Reflection: instance Typeable T194
+ Control.Lens.Internal.Reflection: instance Typeable T195
+ Control.Lens.Internal.Reflection: instance Typeable T196
+ Control.Lens.Internal.Reflection: instance Typeable T197
+ Control.Lens.Internal.Reflection: instance Typeable T198
+ Control.Lens.Internal.Reflection: instance Typeable T199
+ Control.Lens.Internal.Reflection: instance Typeable T2
+ Control.Lens.Internal.Reflection: instance Typeable T20
+ Control.Lens.Internal.Reflection: instance Typeable T200
+ Control.Lens.Internal.Reflection: instance Typeable T201
+ Control.Lens.Internal.Reflection: instance Typeable T202
+ Control.Lens.Internal.Reflection: instance Typeable T203
+ Control.Lens.Internal.Reflection: instance Typeable T204
+ Control.Lens.Internal.Reflection: instance Typeable T205
+ Control.Lens.Internal.Reflection: instance Typeable T206
+ Control.Lens.Internal.Reflection: instance Typeable T207
+ Control.Lens.Internal.Reflection: instance Typeable T208
+ Control.Lens.Internal.Reflection: instance Typeable T209
+ Control.Lens.Internal.Reflection: instance Typeable T21
+ Control.Lens.Internal.Reflection: instance Typeable T210
+ Control.Lens.Internal.Reflection: instance Typeable T211
+ Control.Lens.Internal.Reflection: instance Typeable T212
+ Control.Lens.Internal.Reflection: instance Typeable T213
+ Control.Lens.Internal.Reflection: instance Typeable T214
+ Control.Lens.Internal.Reflection: instance Typeable T215
+ Control.Lens.Internal.Reflection: instance Typeable T216
+ Control.Lens.Internal.Reflection: instance Typeable T217
+ Control.Lens.Internal.Reflection: instance Typeable T218
+ Control.Lens.Internal.Reflection: instance Typeable T219
+ Control.Lens.Internal.Reflection: instance Typeable T22
+ Control.Lens.Internal.Reflection: instance Typeable T220
+ Control.Lens.Internal.Reflection: instance Typeable T221
+ Control.Lens.Internal.Reflection: instance Typeable T222
+ Control.Lens.Internal.Reflection: instance Typeable T223
+ Control.Lens.Internal.Reflection: instance Typeable T224
+ Control.Lens.Internal.Reflection: instance Typeable T225
+ Control.Lens.Internal.Reflection: instance Typeable T226
+ Control.Lens.Internal.Reflection: instance Typeable T227
+ Control.Lens.Internal.Reflection: instance Typeable T228
+ Control.Lens.Internal.Reflection: instance Typeable T229
+ Control.Lens.Internal.Reflection: instance Typeable T23
+ Control.Lens.Internal.Reflection: instance Typeable T230
+ Control.Lens.Internal.Reflection: instance Typeable T231
+ Control.Lens.Internal.Reflection: instance Typeable T232
+ Control.Lens.Internal.Reflection: instance Typeable T233
+ Control.Lens.Internal.Reflection: instance Typeable T234
+ Control.Lens.Internal.Reflection: instance Typeable T235
+ Control.Lens.Internal.Reflection: instance Typeable T236
+ Control.Lens.Internal.Reflection: instance Typeable T237
+ Control.Lens.Internal.Reflection: instance Typeable T238
+ Control.Lens.Internal.Reflection: instance Typeable T239
+ Control.Lens.Internal.Reflection: instance Typeable T24
+ Control.Lens.Internal.Reflection: instance Typeable T240
+ Control.Lens.Internal.Reflection: instance Typeable T241
+ Control.Lens.Internal.Reflection: instance Typeable T242
+ Control.Lens.Internal.Reflection: instance Typeable T243
+ Control.Lens.Internal.Reflection: instance Typeable T244
+ Control.Lens.Internal.Reflection: instance Typeable T245
+ Control.Lens.Internal.Reflection: instance Typeable T246
+ Control.Lens.Internal.Reflection: instance Typeable T247
+ Control.Lens.Internal.Reflection: instance Typeable T248
+ Control.Lens.Internal.Reflection: instance Typeable T249
+ Control.Lens.Internal.Reflection: instance Typeable T25
+ Control.Lens.Internal.Reflection: instance Typeable T250
+ Control.Lens.Internal.Reflection: instance Typeable T251
+ Control.Lens.Internal.Reflection: instance Typeable T252
+ Control.Lens.Internal.Reflection: instance Typeable T253
+ Control.Lens.Internal.Reflection: instance Typeable T254
+ Control.Lens.Internal.Reflection: instance Typeable T255
+ Control.Lens.Internal.Reflection: instance Typeable T26
+ Control.Lens.Internal.Reflection: instance Typeable T27
+ Control.Lens.Internal.Reflection: instance Typeable T28
+ Control.Lens.Internal.Reflection: instance Typeable T29
+ Control.Lens.Internal.Reflection: instance Typeable T3
+ Control.Lens.Internal.Reflection: instance Typeable T30
+ Control.Lens.Internal.Reflection: instance Typeable T31
+ Control.Lens.Internal.Reflection: instance Typeable T32
+ Control.Lens.Internal.Reflection: instance Typeable T33
+ Control.Lens.Internal.Reflection: instance Typeable T34
+ Control.Lens.Internal.Reflection: instance Typeable T35
+ Control.Lens.Internal.Reflection: instance Typeable T36
+ Control.Lens.Internal.Reflection: instance Typeable T37
+ Control.Lens.Internal.Reflection: instance Typeable T38
+ Control.Lens.Internal.Reflection: instance Typeable T39
+ Control.Lens.Internal.Reflection: instance Typeable T4
+ Control.Lens.Internal.Reflection: instance Typeable T40
+ Control.Lens.Internal.Reflection: instance Typeable T41
+ Control.Lens.Internal.Reflection: instance Typeable T42
+ Control.Lens.Internal.Reflection: instance Typeable T43
+ Control.Lens.Internal.Reflection: instance Typeable T44
+ Control.Lens.Internal.Reflection: instance Typeable T45
+ Control.Lens.Internal.Reflection: instance Typeable T46
+ Control.Lens.Internal.Reflection: instance Typeable T47
+ Control.Lens.Internal.Reflection: instance Typeable T48
+ Control.Lens.Internal.Reflection: instance Typeable T49
+ Control.Lens.Internal.Reflection: instance Typeable T5
+ Control.Lens.Internal.Reflection: instance Typeable T50
+ Control.Lens.Internal.Reflection: instance Typeable T51
+ Control.Lens.Internal.Reflection: instance Typeable T52
+ Control.Lens.Internal.Reflection: instance Typeable T53
+ Control.Lens.Internal.Reflection: instance Typeable T54
+ Control.Lens.Internal.Reflection: instance Typeable T55
+ Control.Lens.Internal.Reflection: instance Typeable T56
+ Control.Lens.Internal.Reflection: instance Typeable T57
+ Control.Lens.Internal.Reflection: instance Typeable T58
+ Control.Lens.Internal.Reflection: instance Typeable T59
+ Control.Lens.Internal.Reflection: instance Typeable T6
+ Control.Lens.Internal.Reflection: instance Typeable T60
+ Control.Lens.Internal.Reflection: instance Typeable T61
+ Control.Lens.Internal.Reflection: instance Typeable T62
+ Control.Lens.Internal.Reflection: instance Typeable T63
+ Control.Lens.Internal.Reflection: instance Typeable T64
+ Control.Lens.Internal.Reflection: instance Typeable T65
+ Control.Lens.Internal.Reflection: instance Typeable T66
+ Control.Lens.Internal.Reflection: instance Typeable T67
+ Control.Lens.Internal.Reflection: instance Typeable T68
+ Control.Lens.Internal.Reflection: instance Typeable T69
+ Control.Lens.Internal.Reflection: instance Typeable T7
+ Control.Lens.Internal.Reflection: instance Typeable T70
+ Control.Lens.Internal.Reflection: instance Typeable T71
+ Control.Lens.Internal.Reflection: instance Typeable T72
+ Control.Lens.Internal.Reflection: instance Typeable T73
+ Control.Lens.Internal.Reflection: instance Typeable T74
+ Control.Lens.Internal.Reflection: instance Typeable T75
+ Control.Lens.Internal.Reflection: instance Typeable T76
+ Control.Lens.Internal.Reflection: instance Typeable T77
+ Control.Lens.Internal.Reflection: instance Typeable T78
+ Control.Lens.Internal.Reflection: instance Typeable T79
+ Control.Lens.Internal.Reflection: instance Typeable T8
+ Control.Lens.Internal.Reflection: instance Typeable T80
+ Control.Lens.Internal.Reflection: instance Typeable T81
+ Control.Lens.Internal.Reflection: instance Typeable T82
+ Control.Lens.Internal.Reflection: instance Typeable T83
+ Control.Lens.Internal.Reflection: instance Typeable T84
+ Control.Lens.Internal.Reflection: instance Typeable T85
+ Control.Lens.Internal.Reflection: instance Typeable T86
+ Control.Lens.Internal.Reflection: instance Typeable T87
+ Control.Lens.Internal.Reflection: instance Typeable T88
+ Control.Lens.Internal.Reflection: instance Typeable T89
+ Control.Lens.Internal.Reflection: instance Typeable T9
+ Control.Lens.Internal.Reflection: instance Typeable T90
+ Control.Lens.Internal.Reflection: instance Typeable T91
+ Control.Lens.Internal.Reflection: instance Typeable T92
+ Control.Lens.Internal.Reflection: instance Typeable T93
+ Control.Lens.Internal.Reflection: instance Typeable T94
+ Control.Lens.Internal.Reflection: instance Typeable T95
+ Control.Lens.Internal.Reflection: instance Typeable T96
+ Control.Lens.Internal.Reflection: instance Typeable T97
+ Control.Lens.Internal.Reflection: instance Typeable T98
+ Control.Lens.Internal.Reflection: instance Typeable T99
+ Control.Lens.Internal.Reflection: instance Typeable W
+ Control.Lens.Internal.Zoom: Effect :: m r -> Effect m r a
+ Control.Lens.Internal.Zoom: EffectRWS :: (st -> m (s, st, w)) -> EffectRWS w st m s a
+ Control.Lens.Internal.Zoom: Err :: Either e a -> Err e a
+ Control.Lens.Internal.Zoom: Focusing :: m (s, a) -> Focusing m s a
+ Control.Lens.Internal.Zoom: FocusingErr :: k (Err e s) a -> FocusingErr e k s a
+ Control.Lens.Internal.Zoom: FocusingMay :: k (May s) a -> FocusingMay k s a
+ Control.Lens.Internal.Zoom: FocusingOn :: k (f s) a -> FocusingOn f k s a
+ Control.Lens.Internal.Zoom: FocusingPlus :: k (s, w) a -> FocusingPlus w k s a
+ Control.Lens.Internal.Zoom: FocusingWith :: m (s, a, w) -> FocusingWith w m s a
+ Control.Lens.Internal.Zoom: May :: Maybe a -> May a
+ Control.Lens.Internal.Zoom: getEffect :: Effect m r a -> m r
+ Control.Lens.Internal.Zoom: getEffectRWS :: EffectRWS w st m s a -> st -> m (s, st, w)
+ Control.Lens.Internal.Zoom: getErr :: Err e a -> Either e a
+ Control.Lens.Internal.Zoom: getMay :: May a -> Maybe a
+ Control.Lens.Internal.Zoom: unfocusing :: Focusing m s a -> m (s, a)
+ Control.Lens.Internal.Zoom: unfocusingErr :: FocusingErr e k s a -> k (Err e s) a
+ Control.Lens.Internal.Zoom: unfocusingMay :: FocusingMay k s a -> k (May s) a
+ Control.Lens.Internal.Zoom: unfocusingOn :: FocusingOn f k s a -> k (f s) a
+ Control.Lens.Internal.Zoom: unfocusingPlus :: FocusingPlus w k s a -> k (s, w) a
+ Control.Lens.Internal.Zoom: unfocusingWith :: FocusingWith w m s a -> m (s, a, w)
+ Control.Lens.Lens: Context :: (b -> t) -> a -> Context a b t
+ Control.Lens.Plated: instance [overlap ok] (GPlated a f, GPlated a g) => GPlated a (f :*: g)
+ Control.Lens.Plated: instance [overlap ok] (GPlated a f, GPlated a g) => GPlated a (f :+: g)
+ Control.Lens.Plated: instance [overlap ok] (Traversable f, Traversable m) => Plated (FreeT f m a)
+ Control.Lens.Plated: instance [overlap ok] GPlated a (K1 i a)
+ Control.Lens.Plated: instance [overlap ok] GPlated a (K1 i b)
+ Control.Lens.Plated: instance [overlap ok] GPlated a U1
+ Control.Lens.Plated: instance [overlap ok] GPlated a V1
+ Control.Lens.Plated: instance [overlap ok] GPlated a f => GPlated a (M1 i c f)
+ Control.Lens.Plated: instance [overlap ok] Plated (Tree a)
+ Control.Lens.Plated: instance [overlap ok] Plated Con
+ Control.Lens.Plated: instance [overlap ok] Plated Dec
+ Control.Lens.Plated: instance [overlap ok] Plated Exp
+ Control.Lens.Plated: instance [overlap ok] Plated Pat
+ Control.Lens.Plated: instance [overlap ok] Plated Stmt
+ Control.Lens.Plated: instance [overlap ok] Plated Type
+ Control.Lens.Plated: instance [overlap ok] Plated [a]
+ Control.Lens.Plated: instance [overlap ok] Traversable f => Plated (Cofree f a)
+ Control.Lens.Plated: instance [overlap ok] Traversable f => Plated (F f a)
+ Control.Lens.Plated: instance [overlap ok] Traversable f => Plated (Free f a)
+ Control.Lens.Reified: Fold :: Fold s a -> ReifiedFold s a
+ Control.Lens.Reified: Getter :: Getter s a -> ReifiedGetter s a
+ Control.Lens.Reified: IndexedFold :: IndexedFold i s a -> ReifiedIndexedFold i s a
+ Control.Lens.Reified: IndexedGetter :: IndexedGetter i s a -> ReifiedIndexedGetter i s a
+ Control.Lens.Reified: IndexedLens :: IndexedLens i s t a b -> ReifiedIndexedLens i s t a b
+ Control.Lens.Reified: IndexedSetter :: IndexedSetter i s t a b -> ReifiedIndexedSetter i s t a b
+ Control.Lens.Reified: IndexedTraversal :: IndexedTraversal i s t a b -> ReifiedIndexedTraversal i s t a b
+ Control.Lens.Reified: Iso :: Iso s t a b -> ReifiedIso s t a b
+ Control.Lens.Reified: Lens :: Lens s t a b -> ReifiedLens s t a b
+ Control.Lens.Reified: Prism :: Prism s t a b -> ReifiedPrism s t a b
+ Control.Lens.Reified: Setter :: Setter s t a b -> ReifiedSetter s t a b
+ Control.Lens.Reified: Traversal :: Traversal s t a b -> ReifiedTraversal s t a b
+ Control.Lens.Reified: instance Cosieve ReifiedGetter Identity
+ Control.Lens.Reified: instance Sieve (ReifiedIndexedFold i) (Compose [] ((,) i))
+ Control.Lens.Reified: instance Sieve (ReifiedIndexedGetter i) ((,) i)
+ Control.Lens.Reified: instance Sieve ReifiedFold []
+ Control.Lens.Reified: instance Sieve ReifiedGetter Identity
+ Control.Lens.Reified: runFold :: ReifiedFold s a -> Fold s a
+ Control.Lens.Reified: runGetter :: ReifiedGetter s a -> Getter s a
+ Control.Lens.Reified: runIndexedFold :: ReifiedIndexedFold i s a -> IndexedFold i s a
+ Control.Lens.Reified: runIndexedGetter :: ReifiedIndexedGetter i s a -> IndexedGetter i s a
+ Control.Lens.Reified: runIndexedLens :: ReifiedIndexedLens i s t a b -> IndexedLens i s t a b
+ Control.Lens.Reified: runIndexedSetter :: ReifiedIndexedSetter i s t a b -> IndexedSetter i s t a b
+ Control.Lens.Reified: runIndexedTraversal :: ReifiedIndexedTraversal i s t a b -> IndexedTraversal i s t a b
+ Control.Lens.Reified: runIso :: ReifiedIso s t a b -> Iso s t a b
+ Control.Lens.Reified: runLens :: ReifiedLens s t a b -> Lens s t a b
+ Control.Lens.Reified: runPrism :: ReifiedPrism s t a b -> Prism s t a b
+ Control.Lens.Reified: runSetter :: ReifiedSetter s t a b -> Setter s t a b
+ Control.Lens.Reified: runTraversal :: ReifiedTraversal s t a b -> Traversal s t a b
+ Control.Lens.Setter: Identity :: a -> Identity a
+ Control.Lens.Setter: runIdentity :: Identity a -> a
+ Control.Lens.TH: MethodName :: Name -> Name -> DefName
+ Control.Lens.TH: TopName :: Name -> DefName
+ Control.Lens.Traversal: Bazaar :: (forall f. Applicative f => p a (f b) -> f t) -> Bazaar p a b t
+ Control.Lens.Traversal: Bazaar1 :: (forall f. Apply f => p a (f b) -> f t) -> Bazaar1 p a b t
+ Control.Lens.Traversal: runBazaar :: Bazaar p a b t -> forall f. Applicative f => p a (f b) -> f t
+ Control.Lens.Traversal: runBazaar1 :: Bazaar1 p a b t -> forall f. Apply f => p a (f b) -> f t
+ Control.Lens.Wrapped: instance Wrapped (Tagged s a)
+ Control.Lens.Wrapped: instance t ~ All => Rewrapped All t
+ Control.Lens.Wrapped: instance t ~ Any => Rewrapped Any t
+ Control.Lens.Wrapped: instance t ~ AssertionFailed => Rewrapped AssertionFailed t
+ Control.Lens.Wrapped: instance t ~ Backwards g b => Rewrapped (Backwards f a) t
+ Control.Lens.Wrapped: instance t ~ Comparison b => Rewrapped (Comparison a) t
+ Control.Lens.Wrapped: instance t ~ Compose f' g' a' => Rewrapped (Compose f g a) t
+ Control.Lens.Wrapped: instance t ~ ComposeCF f' g' a' => Rewrapped (ComposeCF f g a) t
+ Control.Lens.Wrapped: instance t ~ ComposeFC f' g' a' => Rewrapped (ComposeFC f g a) t
+ Control.Lens.Wrapped: instance t ~ Const a' x' => Rewrapped (Const a x) t
+ Control.Lens.Wrapped: instance t ~ Constant a' b' => Rewrapped (Constant a b) t
+ Control.Lens.Wrapped: instance t ~ ContT r' m' a' => Rewrapped (ContT r m a) t
+ Control.Lens.Wrapped: instance t ~ Coproduct f' g' a' => Rewrapped (Coproduct f g a) t
+ Control.Lens.Wrapped: instance t ~ Dual b => Rewrapped (Dual a) t
+ Control.Lens.Wrapped: instance t ~ Endo b => Rewrapped (Endo b) t
+ Control.Lens.Wrapped: instance t ~ Equivalence b => Rewrapped (Equivalence a) t
+ Control.Lens.Wrapped: instance t ~ ErrorCall => Rewrapped ErrorCall t
+ Control.Lens.Wrapped: instance t ~ ErrorT e' m' a' => Rewrapped (ErrorT e m a) t
+ Control.Lens.Wrapped: instance t ~ First b => Rewrapped (First a) t
+ Control.Lens.Wrapped: instance t ~ Identity b => Rewrapped (Identity a) t
+ Control.Lens.Wrapped: instance t ~ IdentityT n b => Rewrapped (IdentityT m a) t
+ Control.Lens.Wrapped: instance t ~ IntMap a' => Rewrapped (IntMap a) t
+ Control.Lens.Wrapped: instance t ~ IntSet => Rewrapped IntSet t
+ Control.Lens.Wrapped: instance t ~ Kleisli m' a' b' => Rewrapped (Kleisli m a b) t
+ Control.Lens.Wrapped: instance t ~ Last b => Rewrapped (Last a) t
+ Control.Lens.Wrapped: instance t ~ ListT n b => Rewrapped (ListT m a) t
+ Control.Lens.Wrapped: instance t ~ Max b => Rewrapped (Max a) t
+ Control.Lens.Wrapped: instance t ~ MaybeT n b => Rewrapped (MaybeT m a) t
+ Control.Lens.Wrapped: instance t ~ Min b => Rewrapped (Min a) t
+ Control.Lens.Wrapped: instance t ~ NoMethodError => Rewrapped NoMethodError t
+ Control.Lens.Wrapped: instance t ~ NonEmpty b => Rewrapped (NonEmpty a) t
+ Control.Lens.Wrapped: instance t ~ Op a' b' => Rewrapped (Op a b) t
+ Control.Lens.Wrapped: instance t ~ Option b => Rewrapped (Option a) t
+ Control.Lens.Wrapped: instance t ~ PatternMatchFail => Rewrapped PatternMatchFail t
+ Control.Lens.Wrapped: instance t ~ Predicate b => Rewrapped (Predicate a) t
+ Control.Lens.Wrapped: instance t ~ Product b => Rewrapped (Product a) t
+ Control.Lens.Wrapped: instance t ~ RWST r' w' s' m' a' => Rewrapped (RWST r w s m a) t
+ Control.Lens.Wrapped: instance t ~ ReaderT r n b => Rewrapped (ReaderT r m a) t
+ Control.Lens.Wrapped: instance t ~ RecConError => Rewrapped RecConError t
+ Control.Lens.Wrapped: instance t ~ RecSelError => Rewrapped RecSelError t
+ Control.Lens.Wrapped: instance t ~ RecUpdError => Rewrapped RecUpdError t
+ Control.Lens.Wrapped: instance t ~ Reverse g b => Rewrapped (Reverse f a) t
+ Control.Lens.Wrapped: instance t ~ Seq a' => Rewrapped (Seq a) t
+ Control.Lens.Wrapped: instance t ~ StateT s' m' a' => Rewrapped (StateT s m a) t
+ Control.Lens.Wrapped: instance t ~ Sum b => Rewrapped (Sum a) t
+ Control.Lens.Wrapped: instance t ~ Tagged s' a' => Rewrapped (Tagged s a) t
+ Control.Lens.Wrapped: instance t ~ TracedT m' w' a' => Rewrapped (TracedT m w a) t
+ Control.Lens.Wrapped: instance t ~ Vector a' => Rewrapped (Vector a) t
+ Control.Lens.Wrapped: instance t ~ WrappedArrow a' b' c' => Rewrapped (WrappedArrow a b c) t
+ Control.Lens.Wrapped: instance t ~ WrappedMonad m' a' => Rewrapped (WrappedMonad m a) t
+ Control.Lens.Wrapped: instance t ~ WrappedMonoid b => Rewrapped (WrappedMonoid a) t
+ Control.Lens.Wrapped: instance t ~ WriterT w' m' a' => Rewrapped (WriterT w m a) t
+ Control.Lens.Wrapped: instance t ~ ZipList b => Rewrapped (ZipList a) t
+ Control.Monad.Error.Lens: Handler :: (e -> Maybe a) -> (a -> m r) -> Handler e m r
+ Data.Data.Lens: instance Typeable FieldException
+ Language.Haskell.TH.Lens: _ClassP :: Prism' Pred (Name, [Type])
+ Language.Haskell.TH.Lens: _EqualP :: Prism' Pred (Type, Type)
+ Language.Haskell.TH.Lens: instance HasTypeVars Pred
+ Language.Haskell.TH.Lens: instance SubstType Pred
- Control.Lens.Indexed: asIndex :: (Indexable i p, Contravariant f, Functor f) => Optical' p (Indexed i) f s i
+ Control.Lens.Indexed: asIndex :: (Indexable i p, Contravariant f, Functor f) => p i (f i) -> Indexed i s (f s)
- Control.Lens.Indexed: class (Choice p, Corepresentable p, Comonad (Corep p), Traversable (Corep p), Strong p, Representable p, Monad (Rep p), MonadFix (Rep p), Distributive (Rep p), ArrowLoop p, ArrowApply p, ArrowChoice p) => Conjoined p where distrib = tabulate . collect . rep conjoined _ r = r
+ Control.Lens.Indexed: class (Choice p, Corepresentable p, Comonad (Corep p), Traversable (Corep p), Strong p, Representable p, Monad (Rep p), MonadFix (Rep p), Distributive (Rep p), ArrowLoop p, ArrowApply p, ArrowChoice p) => Conjoined p where distrib = tabulate . collect . sieve conjoined _ r = r
- Control.Lens.Indexed: conjoined :: Conjoined p => ((p ~ (->)) => q (a -> b) r) -> q (p a b) r -> q (p a b) r
+ Control.Lens.Indexed: conjoined :: Conjoined p => (p ~ (->) => q (a -> b) r) -> q (p a b) r -> q (p a b) r
- Control.Lens.Indexed: withIndex :: (Indexable i p, Functor f) => Optical p (Indexed i) f s t (i, s) (j, t)
+ Control.Lens.Indexed: withIndex :: (Indexable i p, Functor f) => p (i, s) (f (j, t)) -> Indexed i s (f t)
- Control.Lens.Internal.Coerce: coerce :: Coercible * a b => a -> b
+ Control.Lens.Internal.Coerce: coerce :: Coercible k a b => a -> b
- Control.Lens.Internal.Indexed: class (Choice p, Corepresentable p, Comonad (Corep p), Traversable (Corep p), Strong p, Representable p, Monad (Rep p), MonadFix (Rep p), Distributive (Rep p), ArrowLoop p, ArrowApply p, ArrowChoice p) => Conjoined p where distrib = tabulate . collect . rep conjoined _ r = r
+ Control.Lens.Internal.Indexed: class (Choice p, Corepresentable p, Comonad (Corep p), Traversable (Corep p), Strong p, Representable p, Monad (Rep p), MonadFix (Rep p), Distributive (Rep p), ArrowLoop p, ArrowApply p, ArrowChoice p) => Conjoined p where distrib = tabulate . collect . sieve conjoined _ r = r
- Control.Lens.Internal.Indexed: conjoined :: Conjoined p => ((p ~ (->)) => q (a -> b) r) -> q (p a b) r -> q (p a b) r
+ Control.Lens.Internal.Indexed: conjoined :: Conjoined p => (p ~ (->) => q (a -> b) r) -> q (p a b) r -> q (p a b) r
- Control.Lens.Traversal: failing :: (Conjoined p, Applicative f) => Traversing p f s t a b -> Traversing p f s t a b -> Over p f s t a b
+ Control.Lens.Traversal: failing :: (Conjoined p, Applicative f) => Traversing p f s t a b -> Over p f s t a b -> Over p f s t a b

Files

.travis.yml view
@@ -45,7 +45,7 @@  install:   - $CABAL install --dependencies-only --enable-tests-  - $CABAL configure -flib-Werror --enable-tests $MODE+  - $CABAL configure --enable-tests $MODE  script:   - $CABAL build
CHANGELOG.markdown view
@@ -1,3 +1,9 @@+4.10+----+* Added `elemIndexOf`, `elemIndicesOf`, `findIndexOf`, and `findIndicesOf`.+* Fixed `Ixed` instance for `Tree`. It no longer drops nodes prior to the traversed node.+* `bifunctors` 5, `profunctors` 5 and `semigroupoids` 5 support.+ 4.9.1 ----- * Added `_Wrapped` support for `NonEmpty`.
README.markdown view
@@ -349,13 +349,6 @@   <td/><td/><td/>   <td>Return a list of the target(s)</td> </tr>-<tr>-  <td><a href="http://ekmett.github.com/lens/Control-Lens-Action.html#v:perform"><code>perform</code></a>,<a href="http://ekmett.github.com/lens/Control-Lens-Action.html#v:performs"><code>performs</code></a><a href="http://ekmett.github.com/lens/Control-Lens-Action.html#v:-94-!"><code>^!</code></a></td>-  <td/>-  <td/>-  <td/>-  <td>Perform monadic action(s)</td>-</tr> <tr><th colspan=5><a href="http://ekmett.github.com/lens/Control-Lens.html">Control.Lens</a> (Indexed)</th></tr> <tr>   <td><a href="http://ekmett.github.com/lens/Control-Lens-IndexedSetter.html#v:iover"><code>iover</code></a>,<a href="http://ekmett.github.com/lens/Control-Lens-IndexedSetter.html#v:imapOf"><code>imapOf</code></a>,<a href="http://ekmett.github.com/lens/Control-Lens-IndexedSetter.html#v:-37--64--126-"><code>%@~</code></a></td>
lens.cabal view
@@ -1,6 +1,6 @@ name:          lens category:      Data, Lenses, Generics-version:       4.9.1+version:       4.10 license:       BSD3 cabal-version: >= 1.8 license-file:  LICENSE@@ -12,7 +12,7 @@ copyright:     Copyright (C) 2012-2015 Edward A. Kmett build-type:    Custom -- build-tools:   cpphs-tested-with:   GHC == 7.4.1, GHC == 7.4.2, GHC == 7.6.3, GHC == 7.8.1, GHC == 7.8.2+tested-with:   GHC == 7.4.2, GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.1 synopsis:      Lenses, Folds and Traversals description:   This package comes \"Batteries Included\" with many useful lenses for the types@@ -170,10 +170,6 @@   default: True   manual: True -flag lib-Werror-  default: False-  manual: True- -- Attempt a parallel build with GHC 7.8 flag j   default: False@@ -183,7 +179,7 @@   build-depends:     array                     >= 0.3.0.2  && < 0.6,     base                      >= 4.5      && < 5,-    bifunctors                >= 4        && < 5,+    bifunctors                >= 5        && < 6,     bytestring                >= 0.9.1.10 && < 0.11,     comonad                   >= 4        && < 5,     contravariant             >= 0.3      && < 2,@@ -197,9 +193,9 @@     exceptions                >= 0.1.1    && < 1,     mtl                       >= 2.0.1    && < 2.3,     parallel                  >= 3.1.0.1  && < 3.3,-    profunctors               >= 4        && < 5,+    profunctors               >= 5        && < 6,     reflection                >= 1.1.6    && < 2,-    semigroupoids             >= 4        && < 5,+    semigroupoids             >= 5        && < 6,     semigroups                >= 0.8.4    && < 1,     tagged                    >= 0.4.4    && < 1,     template-haskell          >= 2.4      && < 2.11,@@ -310,9 +306,6 @@    if flag(inlining)     cpp-options: -DINLINING--  if flag(lib-Werror)-    ghc-options: -Werror    if impl(ghc<7.4)     ghc-options: -fno-spec-constr-count
src/Control/Lens/At.hs view
@@ -219,11 +219,9 @@ instance Ixed (Tree a) where   ix xs0 f = go xs0 where     go [] (Node a as) = f a <&> \a' -> Node a' as-    go (i:is) t@(Node a as) | i < 0     = pure t-                            | otherwise = Node a <$> goto is as i-    goto is (a:as) 0 = go is a <&> (:as)-    goto is (_:as) n = goto is as $! n - 1-    goto _  []     _ = pure []+    go (i:is) t@(Node a as)+      | i < 0     = pure t+      | otherwise = Node a <$> ix i (go is) as   {-# INLINE ix #-}  type instance IxValue (Seq a) = a
src/Control/Lens/Fold.hs view
@@ -113,6 +113,10 @@   , ifoldrMOf   , ifoldlMOf   , itoListOf+  , elemIndexOf+  , elemIndicesOf+  , findIndexOf+  , findIndicesOf    -- ** Building Indexed Folds   , ifiltered@@ -153,6 +157,7 @@ import Data.Monoid import Data.Profunctor import Data.Profunctor.Rep+import Data.Profunctor.Sieve import Data.Profunctor.Unsafe import Data.Traversable import Prelude@@ -342,7 +347,7 @@ -- which is not a 'Traversal' per the laws, unless you are careful to ensure that you do not invalidate the predicate when -- writing back through it. takingWhile :: (Conjoined p, Applicative f) => (a -> Bool) -> Over p (TakingWhile p f a a) s t a a -> Over p f s t a a-takingWhile p l pafb = fmap runMagma . traverse (corep pafb) . runTakingWhile . l flag where+takingWhile p l pafb = fmap runMagma . traverse (cosieve pafb) . runTakingWhile . l flag where   flag = cotabulate $ \wa -> let a = extract wa; r = p a in TakingWhile r a $ \pr ->     if pr && r then Magma () wa else MagmaPure a {-# INLINE takingWhile #-}@@ -394,7 +399,7 @@   g = cotabulate $ \wa -> Compose $ state $ \b -> let       a = extract wa       b' = b && p a-    in (if b' then pure a else corep f wa, b')+    in (if b' then pure a else cosieve f wa, b') {-# INLINE droppingWhile #-}  -- | A 'Fold' over the individual 'words' of a 'String'.@@ -1432,7 +1437,7 @@ -- 'findOf' l p = 'foldrOf' l (\a y -> if p a then 'Just' a else y) 'Nothing' -- @ findOf :: Conjoined p => Accessing p (Endo (Maybe a)) s a -> p a Bool -> s -> Maybe a-findOf l p = foldrOf l (cotabulate $ \wa y -> if corep p wa then Just (extract wa) else y) Nothing+findOf l p = foldrOf l (cotabulate $ \wa y -> if cosieve p wa then Just (extract wa) else y) Nothing {-# INLINE findOf #-}  -- | The 'findMOf' function takes a 'Lens' (or 'Getter', 'Iso', 'Fold', or 'Traversal'),@@ -1472,7 +1477,7 @@ -- 'findMOf' l p = 'foldrOf' l (\a y -> p a >>= \x -> if x then return ('Just' a) else y) $ return 'Nothing' -- @ findMOf :: (Monad m, Conjoined p) => Accessing p (Endo (m (Maybe a))) s a -> p a (m Bool) -> s -> m (Maybe a)-findMOf l p = foldrOf l (cotabulate $ \wa y -> corep p wa >>= \r -> if r then return (Just (extract wa)) else y) $ return Nothing+findMOf l p = foldrOf l (cotabulate $ \wa y -> cosieve p wa >>= \r -> if r then return (Just (extract wa)) else y) $ return Nothing {-# INLINE findMOf #-}  -- | A variant of 'foldrOf' that has no base case and thus may only be applied@@ -2339,6 +2344,62 @@ (^@?!) :: s -> IndexedGetting i (Endo (i, a)) s a -> (i, a) s ^@?! l = ifoldrOf l (\i x _ -> (i,x)) (error "(^@?!): empty Fold") s {-# INLINE (^@?!) #-}++-- | Retrieve the index of the first value targeted by a 'IndexedFold' or 'IndexedTraversal' which is equal to a given value.+--+-- @+-- 'Data.List.elemIndex' ≡ 'elemIndexOf' 'folded'+-- @+--+-- @+-- 'elemIndexOf' :: 'Eq' a => 'IndexedFold' i s a       -> a -> s -> 'Maybe' i+-- 'elemIndexOf' :: 'Eq' a => 'IndexedTraversal'' i s a -> a -> s -> 'Maybe' i+-- @+elemIndexOf :: Eq a => IndexedGetting i (First i) s a -> a -> s -> Maybe i+elemIndexOf l a = findIndexOf l (a ==)+{-# INLINE elemIndexOf #-}++-- | Retrieve the indices of the values targeted by a 'IndexedFold' or 'IndexedTraversal' which are equal to a given value.+--+-- @+-- 'Data.List.elemIndices' ≡ 'elemIndicesOf' 'folded'+-- @+--+-- @+-- 'elemIndicesOf' :: 'Eq' a => 'IndexedFold' i s a       -> a -> s -> [i]+-- 'elemIndicesOf' :: 'Eq' a => 'IndexedTraversal'' i s a -> a -> s -> [i]+-- @+elemIndicesOf :: Eq a => IndexedGetting i (Endo [i]) s a -> a -> s -> [i]+elemIndicesOf l a = findIndicesOf l (a ==)+{-# INLINE elemIndicesOf #-}++-- | Retrieve the index of the first value targeted by a 'IndexedFold' or 'IndexedTraversal' which satisfies a predicate.+--+-- @+-- 'Data.List.findIndex' ≡ 'findIndexOf' 'folded'+-- @+--+-- @+-- 'findIndexOf' :: 'IndexedFold' i s a       -> (a -> 'Bool') -> s -> 'Maybe' i+-- 'findIndexOf' :: 'IndexedTraversal'' i s a -> (a -> 'Bool') -> s -> 'Maybe' i+-- @+findIndexOf :: IndexedGetting i (First i) s a -> (a -> Bool) -> s -> Maybe i+findIndexOf l p = preview (l . filtered p . asIndex)+{-# INLINE findIndexOf #-}++-- | Retrieve the indices of the values targeted by a 'IndexedFold' or 'IndexedTraversal' which satisfy a predicate.+--+-- @+-- 'Data.List.findIndices' ≡ 'findIndicesOf' 'folded'+-- @+--+-- @+-- 'findIndicesOf' :: 'IndexedFold' i s a       -> (a -> 'Bool') -> s -> [i]+-- 'findIndicesOf' :: 'IndexedTraversal'' i s a -> (a -> 'Bool') -> s -> [i]+-- @+findIndicesOf :: IndexedGetting i (Endo [i]) s a -> (a -> Bool) -> s -> [i]+findIndicesOf l p = toListOf (l . filtered p . asIndex)+{-# INLINE findIndicesOf #-}  ------------------------------------------------------------------------------- -- Converting to Folds
src/Control/Lens/Indexed.hs view
@@ -181,24 +181,6 @@ {-# INLINE icompose #-}  ---------------------------------------------------------------------------------- Converting to Folds------------------------------------------------------------------------------------ | Fold a container with indices returning both the indices and the values.------ The result is only valid to compose in a 'Traversal', if you don't edit the--- index as edits to the index have no effect.-withIndex :: (Indexable i p, Functor f) => Optical p (Indexed i) f s t (i, s) (j, t)-withIndex f = Indexed $ \i a -> snd <$> indexed f i (i, a)-{-# INLINE withIndex #-}---- | When composed with an 'IndexedFold' or 'IndexedTraversal' this yields an--- ('Indexed') 'Fold' of the indices.-asIndex :: (Indexable i p, Contravariant f, Functor f) => Optical' p (Indexed i) f s i-asIndex f = Indexed $ \i _ -> coerce (indexed f i i)-{-# INLINE asIndex #-}--------------------------------------------------------------------------------- -- Restricting by index ------------------------------------------------------------------------------- 
src/Control/Lens/Internal/Bazaar.hs view
@@ -39,6 +39,7 @@ import Data.Semigroup import Data.Profunctor import Data.Profunctor.Rep+import Data.Profunctor.Sieve import Data.Profunctor.Unsafe import Prelude hiding ((.),id) @@ -91,7 +92,7 @@   {-# INLINE iduplicate #-}  instance Corepresentable p => Sellable p (Bazaar p) where-  sell = cotabulate $ \ w -> Bazaar $ tabulate $ \k -> pure (corep k w)+  sell = cotabulate $ \ w -> Bazaar $ tabulate $ \k -> pure (cosieve k w)   {-# INLINE sell #-}  instance Profunctor p => Bizarre p (Bazaar p) where@@ -154,7 +155,7 @@   {-# INLINE iduplicate #-}  instance Corepresentable p => Sellable p (BazaarT p g) where-  sell = cotabulate $ \ w -> BazaarT (`corep` w)+  sell = cotabulate $ \ w -> BazaarT (`cosieve` w)   {-# INLINE sell #-}  instance Profunctor p => Bizarre p (BazaarT p g) where@@ -247,7 +248,7 @@   {-# INLINE iduplicate #-}  instance Corepresentable p => Sellable p (Bazaar1 p) where-  sell = cotabulate $ \ w -> Bazaar1 $ tabulate $ \k -> pure (corep k w)+  sell = cotabulate $ \ w -> Bazaar1 $ tabulate $ \k -> pure (cosieve k w)   {-# INLINE sell #-}  instance Profunctor p => Bizarre1 p (Bazaar1 p) where@@ -304,7 +305,7 @@   {-# INLINE iduplicate #-}  instance Corepresentable p => Sellable p (BazaarT1 p g) where-  sell = cotabulate $ \ w -> BazaarT1 (`corep` w)+  sell = cotabulate $ \ w -> BazaarT1 (`cosieve` w)   {-# INLINE sell #-}  instance Profunctor p => Bizarre1 p (BazaarT1 p g) where
src/Control/Lens/Internal/Context.hs view
@@ -40,6 +40,7 @@ import Data.Functor.Identity import Data.Profunctor import Data.Profunctor.Rep+import Data.Profunctor.Sieve import Data.Profunctor.Unsafe import Prelude hiding ((.),id) @@ -266,7 +267,7 @@   {-# INLINE experiment #-}  instance Corepresentable p => Sellable p (Pretext p) where-  sell = cotabulate $ \ w -> Pretext (`corep` w)+  sell = cotabulate $ \ w -> Pretext (`cosieve` w)   {-# INLINE sell #-}  ------------------------------------------------------------------------------@@ -346,7 +347,7 @@   {-# INLINE experiment #-}  instance Corepresentable p => Sellable p (PretextT p g) where-  sell = cotabulate $ \ w -> PretextT (`corep` w)+  sell = cotabulate $ \ w -> PretextT (`cosieve` w)   {-# INLINE sell #-}  instance (Profunctor p, Contravariant g) => Contravariant (PretextT p g a b) where@@ -360,5 +361,5 @@ -- | We can convert any 'Conjoined' 'Profunctor' to a function, -- possibly losing information about an index in the process. coarr :: (Representable q, Comonad (Rep q)) => q a b -> a -> b-coarr qab = extract . rep qab+coarr qab = extract . sieve qab {-# INLINE coarr #-}
src/Control/Lens/Internal/Indexed.hs view
@@ -29,6 +29,9 @@   -- * 64-bit Indexing   , Indexing64(..)   , indexing64+  -- * Converting to Folds+  , withIndex+  , asIndex   ) where  import Control.Applicative@@ -36,6 +39,7 @@ import Control.Category import Control.Comonad import Control.Lens.Internal.Instances ()+import qualified Control.Lens.Internal.Getter as Getter import Control.Monad import Control.Monad.Fix import Data.Distributive@@ -44,6 +48,7 @@ import Data.Int import Data.Profunctor import Data.Profunctor.Rep+import Data.Profunctor.Sieve import Data.Traversable import Prelude hiding ((.),id) #ifndef SAFE@@ -68,7 +73,7 @@   -- 'Profunctor' over every Haskell 'Functor'. This is effectively a   -- generalization of 'fmap'.   distrib :: Functor f => p a b -> p (f a) (f b)-  distrib = tabulate . collect . rep+  distrib = tabulate . collect . sieve   {-# INLINE distrib #-}    -- | This permits us to make a decision at an outermost point about whether or not we use an index.@@ -151,20 +156,24 @@   {-# INLINE ( #. ) #-} #endif -instance Corepresentable (Indexed i) where-  type Corep (Indexed i) = (,) i-  cotabulate = Indexed . curry-  {-# INLINE cotabulate #-}-  corep = uncurry . runIndexed-  {-# INLINE corep #-}+instance Sieve (Indexed i) ((->) i) where+  sieve = flip . runIndexed+  {-# INLINE sieve #-}  instance Representable (Indexed i) where   type Rep (Indexed i) = (->) i   tabulate = Indexed . flip   {-# INLINE tabulate #-}-  rep = flip . runIndexed-  {-# INLINE rep #-} +instance Cosieve (Indexed i) ((,) i) where+  cosieve = uncurry . runIndexed+  {-# INLINE cosieve #-}++instance Corepresentable (Indexed i) where+  type Corep (Indexed i) = (,) i+  cotabulate = Indexed . curry+  {-# INLINE cotabulate #-}+ instance Choice (Indexed i) where   right' = right   {-# INLINE right' #-}@@ -316,3 +325,21 @@ indexing64 :: Indexable Int64 p => ((a -> Indexing64 f b) -> s -> Indexing64 f t) -> p a (f b) -> s -> f t indexing64 l iafb s = snd $ runIndexing64 (l (\a -> Indexing64 (\i -> i `seq` (i + 1, indexed iafb i a))) s) 0 {-# INLINE indexing64 #-}++-------------------------------------------------------------------------------+-- Converting to Folds+-------------------------------------------------------------------------------++-- | Fold a container with indices returning both the indices and the values.+--+-- The result is only valid to compose in a 'Traversal', if you don't edit the+-- index as edits to the index have no effect.+withIndex :: (Indexable i p, Functor f) => p (i, s) (f (j, t)) -> Indexed i s (f t)+withIndex f = Indexed $ \i a -> snd <$> indexed f i (i, a)+{-# INLINE withIndex #-}++-- | When composed with an 'IndexedFold' or 'IndexedTraversal' this yields an+-- ('Indexed') 'Fold' of the indices.+asIndex :: (Indexable i p, Contravariant f, Functor f) => p i (f i) -> Indexed i s (f s)+asIndex f = Indexed $ \i _ -> Getter.coerce (indexed f i i)+{-# INLINE asIndex #-}
src/Control/Lens/Internal/Magma.hs view
@@ -46,6 +46,7 @@ import Data.Functor.Contravariant import Data.Monoid import Data.Profunctor.Rep+import Data.Profunctor.Sieve import Data.Profunctor.Unsafe import Data.Traversable import Prelude hiding ((.),id)@@ -247,7 +248,7 @@     go (MagmaAp x y)  = go x <*> go y     go (MagmaFmap f x)  = f <$> go x     go (MagmaPure x)    = pure x-    go (Magma _ wa) = corep pafb wa+    go (Magma _ wa) = cosieve pafb wa   {-# INLINE bazaar #-}  -- This constraint is unused intentionally, it protects TakingWhile
src/Control/Lens/Lens.hs view
@@ -134,6 +134,7 @@ import Data.Monoid import Data.Profunctor import Data.Profunctor.Rep+import Data.Profunctor.Sieve import Data.Profunctor.Unsafe import Data.Void import Prelude@@ -218,7 +219,7 @@ -- | Build an index-preserving 'Lens' from a 'Control.Lens.Getter.Getter' and a -- 'Control.Lens.Setter.Setter'. iplens :: (s -> a) -> (s -> b -> t) -> IndexPreservingLens s t a b-iplens sa sbt pafb = cotabulate $ \ws -> sbt (extract ws) <$> corep pafb (sa <$> ws)+iplens sa sbt pafb = cotabulate $ \ws -> sbt (extract ws) <$> cosieve pafb (sa <$> ws) {-# INLINE iplens #-}  -- | Build an 'IndexedLens' from a 'Control.Lens.Getter.Getter' and@@ -383,8 +384,8 @@ -- [2,1] inside :: Corepresentable p => ALens s t a b -> Lens (p e s) (p e t) (p e a) (p e b) inside l f es = o <$> f i where-  i = cotabulate $ \ e -> ipos $ l sell (corep es e)-  o ea = cotabulate $ \ e -> ipeek (corep ea e) $ l sell (corep es e)+  i = cotabulate $ \ e -> ipos $ l sell (cosieve es e)+  o ea = cotabulate $ \ e -> ipeek (cosieve ea e) $ l sell (cosieve es e) {-# INLINE inside #-}  {-@@ -441,7 +442,7 @@ -- 'chosen' f ('Right' a) = 'Right' '<$>' f a -- @ chosen :: IndexPreservingLens (Either a a) (Either b b) a b-chosen pafb = cotabulate $ \weaa -> corep (either id id `lmap` pafb) weaa <&> \b -> case extract weaa of+chosen pafb = cotabulate $ \weaa -> cosieve (either id id `lmap` pafb) weaa <&> \b -> case extract weaa of   Left _  -> Left  b   Right _ -> Right b {-# INLINE chosen #-}@@ -506,7 +507,7 @@ -- | Clone a 'Lens' as an 'IndexedPreservingLens' that just passes through whatever -- index is on any 'IndexedLens', 'IndexedFold', 'IndexedGetter' or  'IndexedTraversal' it is composed with. cloneIndexPreservingLens :: ALens s t a b -> IndexPreservingLens s t a b-cloneIndexPreservingLens l pafb = cotabulate $ \ws -> runPretext (l sell (extract ws)) $ \a -> corep pafb (a <$ ws)+cloneIndexPreservingLens l pafb = cotabulate $ \ws -> runPretext (l sell (extract ws)) $ \a -> cosieve pafb (a <$ ws) {-# INLINE cloneIndexPreservingLens #-}  -- | Clone an 'IndexedLens' as an 'IndexedLens' with the same index.
src/Control/Lens/Prism.hs view
@@ -58,6 +58,7 @@ import Data.Functor.Identity import Data.Profunctor import Data.Profunctor.Rep+import Data.Profunctor.Sieve import Data.Traversable import Data.Void #if MIN_VERSION_base(4,7,0)@@ -140,7 +141,7 @@ -- TODO: can we make this work with merely Strong? outside :: Representable p => APrism s t a b -> Lens (p t r) (p s r) (p b r) (p a r) outside k = withPrism k $ \bt seta f ft ->-  f (lmap bt ft) <&> \fa -> tabulate $ either (rep ft) (rep fa) . seta+  f (lmap bt ft) <&> \fa -> tabulate $ either (sieve ft) (sieve fa) . seta {-# INLINE outside #-}  -- | Given a pair of prisms, project sums.
src/Control/Lens/Reified.hs view
@@ -34,6 +34,7 @@ import Data.Functor.Plus import Data.Profunctor import Data.Profunctor.Rep+import Data.Profunctor.Sieve import Data.Semigroup  -- $setup@@ -167,15 +168,19 @@   rmap f l    = Getter $ runGetter l.to f   {-# INLINE rmap #-} +instance Cosieve ReifiedGetter Identity where+  cosieve (Getter l) = view l . runIdentity+ instance Corepresentable ReifiedGetter where   type Corep ReifiedGetter = Identity   cotabulate f = Getter $ to (f . Identity)-  corep (Getter l) = view l . runIdentity +instance Sieve ReifiedGetter Identity where+  sieve (Getter l) = Identity . view l+ instance Representable ReifiedGetter where   type Rep ReifiedGetter = Identity   tabulate f = Getter $ to (runIdentity . f)-  rep (Getter l) = Identity . view l  instance Conjoined ReifiedGetter @@ -239,12 +244,14 @@   dimap f g l = IndexedGetter (to f . runIndexedGetter l . to g)   {-# INLINE dimap #-} +instance Sieve (ReifiedIndexedGetter i) ((,) i) where+  sieve = iview . runIndexedGetter+  {-# INLINE sieve #-}+ instance Representable (ReifiedIndexedGetter i) where   type Rep (ReifiedIndexedGetter i) = (,) i   tabulate f = IndexedGetter $ ito f   {-# INLINE tabulate #-}-  rep = iview . runIndexedGetter-  {-# INLINE rep #-}  instance Strong (ReifiedIndexedGetter i) where   first' l = IndexedGetter $ \f (s,c) ->@@ -287,10 +294,12 @@   lmap f l = Fold (to f . runFold l)   {-# INLINE lmap #-} +instance Sieve ReifiedFold [] where+  sieve = toListOf . runFold+ instance Representable ReifiedFold where   type Rep ReifiedFold = []   tabulate f = Fold (folding f)-  rep = toListOf . runFold  instance Strong ReifiedFold where   first' l = Fold $ \f (s,c) ->@@ -442,12 +451,14 @@   rmap g l = IndexedFold (runIndexedFold l . to g)   {-# INLINE rmap #-} +instance Sieve (ReifiedIndexedFold i) (Compose [] ((,) i)) where+  sieve (IndexedFold l) = Compose . itoListOf l+  {-# INLINE sieve #-}+ instance Representable (ReifiedIndexedFold i) where   type Rep (ReifiedIndexedFold i) = Compose [] ((,) i)   tabulate k = IndexedFold $ \f -> coerce . traverse_ (coerce . uncurry (indexed f)) . getCompose . k   {-# INLINE tabulate #-}-  rep (IndexedFold l) = Compose . itoListOf l-  {-# INLINE rep #-}  instance Strong (ReifiedIndexedFold i) where   first' l  = IndexedFold $ \f (s,c) ->
src/Control/Lens/Setter.hs view
@@ -86,6 +86,7 @@ import Data.Monoid import Data.Profunctor import Data.Profunctor.Rep+import Data.Profunctor.Sieve import Data.Profunctor.Unsafe import Prelude @@ -275,7 +276,7 @@ -- 'setting' :: ((a -> b) -> s -> t) -> 'Setter' s t a b -- @ setting :: ((a -> b) -> s -> t) -> IndexPreservingSetter s t a b-setting l pafb = cotabulate $ \ws -> pure $ l (\a -> untainted (corep pafb (a <$ ws))) (extract ws)+setting l pafb = cotabulate $ \ws -> pure $ l (\a -> untainted (cosieve pafb (a <$ ws))) (extract ws) {-# INLINE setting #-}  -- | Build a 'Setter', 'IndexedSetter' or 'IndexPreservingSetter' depending on your choice of 'Profunctor'.@@ -295,7 +296,7 @@ -- | Build an 'IndexPreservingSetter' from any 'Setter'. cloneIndexPreservingSetter :: ASetter s t a b -> IndexPreservingSetter s t a b cloneIndexPreservingSetter l pafb = cotabulate $ \ws ->-    taintedDot runIdentity $ l (\a -> Identity (untainted (corep pafb (a <$ ws)))) (extract ws)+    taintedDot runIdentity $ l (\a -> Identity (untainted (cosieve pafb (a <$ ws)))) (extract ws) {-# INLINE cloneIndexPreservingSetter #-}  -- | Clone an 'IndexedSetter'.
src/Control/Lens/TH.hs view
@@ -116,14 +116,26 @@   fmap (\x -> r { _allowUpdates = x}) (f (_allowUpdates r))  -- | Generate optics using lazy pattern matches. This can--- allow fields of an undefined value to be initialized with lenses,--- and is the default behavior.+-- allow fields of an undefined value to be initialized with lenses: --+-- @+-- data Foo = Foo {_x :: Int, _y :: Bool}+--   deriving Show+--+-- 'makeLensesWith' ('lensRules' & 'generateLazyPatterns' .~ True) ''Foo+-- @+--+-- @+-- > undefined & x .~ 8 & y .~ True+-- Foo {_x = 8, _y = True}+-- @+--  -- The downside of this flag is that it can lead to space-leaks and--- code-size/compile-time increases when generated for large records.+-- code-size/compile-time increases when generated for large records. By+-- default this flag is turned off, and strict optics are generated. -- -- When using lazy optics the strict optic can be recovered by composing--- with '$!'+-- with '$!': -- -- @ -- strictOptic = ($!) . lazyOptic
src/Control/Lens/Traversal.hs view
@@ -145,6 +145,7 @@ import Data.Monoid import Data.Profunctor import Data.Profunctor.Rep+import Data.Profunctor.Sieve import Data.Profunctor.Unsafe import Data.Semigroup.Traversable import Data.Tagged@@ -434,7 +435,7 @@ -- mapAccumLOf :: Conjoined p => Over p (State acc) s t a b -> p acc (a -> (acc, b)) -> acc -> s -> (acc, t) mapAccumLOf l f acc0 s = swap (runState (l g s) acc0) where-   g = cotabulate $ \wa -> state $ \acc -> swap (corep f (acc <$ wa) (extract wa))+   g = cotabulate $ \wa -> state $ \acc -> swap (cosieve f (acc <$ wa) (extract wa)) -- This would be much cleaner if the argument order for the function was swapped. {-# INLINE mapAccumLOf #-} @@ -602,7 +603,7 @@       in f (ins b) (unsafeOuts b))      (Tagged $ let         f [] _ = []-        f (wx:xs) g = Pretext (\wxfy -> g . (:Prelude.map extract xs) <$> corep wxfy wx) : f xs (g . (extract wx:))+        f (wx:xs) g = Pretext (\wxfy -> g . (:Prelude.map extract xs) <$> cosieve wxfy wx) : f xs (g . (extract wx:))       in f (pins b) (unsafeOuts b))     :: Tagged (p a b) [Pretext p a a t]   ) where b = l sell s@@ -643,8 +644,8 @@     (w:ws) -> unsafeOuts b . (:ws) <$> afb w     []     -> unsafeOuts b . return <$> afb (error "singular: empty traversal"))   (\pafb s -> let b = l sell s in case pins b of-    (w:ws) -> unsafeOuts b . (:Prelude.map extract ws) <$> corep pafb w-    []     -> unsafeOuts b . return                    <$> corep pafb (error "singular: empty traversal"))+    (w:ws) -> unsafeOuts b . (:Prelude.map extract ws) <$> cosieve pafb w+    []     -> unsafeOuts b . return                    <$> cosieve pafb (error "singular: empty traversal")) {-# INLINE singular #-}  -- | This converts a 'Traversal' that you \"know\" will target only one element to a 'Lens'. It can also be@@ -671,7 +672,7 @@     []  -> error "unsafeSingular: empty traversal"     _   -> error "unsafeSingular: traversing multiple results")   (\pafb s -> let b = inline l sell s in case pins b of-    [w] -> unsafeOuts b . return <$> corep pafb w+    [w] -> unsafeOuts b . return <$> cosieve pafb w     []  -> error "unsafeSingular: empty traversal"     _   -> error "unsafeSingular: traversing multiple results") {-# INLINE unsafeSingular #-}@@ -770,7 +771,7 @@        => Optical p q f s t a b        -> Optical p q f s' t' a b        -> Optical p q f (r s s') (r t t') a b-beside l r f = tabulate $ getCompose #. bitraverse (Compose #. rep (l f)) (Compose #. rep (r f))+beside l r f = tabulate $ getCompose #. bitraverse (Compose #. sieve (l f)) (Compose #. sieve (r f)) {-# INLINE beside #-}  -- | Visit the first /n/ targets of a 'Traversal', 'Fold', 'Getter' or 'Lens'.@@ -802,7 +803,7 @@        -> Over p f s t a a taking n l = conjoined   (\ afb s  -> let b = inline l sell s in outs b <$> traverse afb          (take n $ ins b))-  (\ pafb s -> let b = inline l sell s in outs b <$> traverse (corep pafb) (take n $ pins b))+  (\ pafb s -> let b = inline l sell s in outs b <$> traverse (cosieve pafb) (take n $ pins b)) {-# INLINE taking #-}  -- | Visit all but the first /n/ targets of a 'Traversal', 'Fold', 'Getter' or 'Lens'.@@ -829,7 +830,7 @@ -- @ dropping :: (Conjoined p, Applicative f) => Int -> Over p (Indexing f) s t a a -> Over p f s t a a dropping n l pafb s = snd $ runIndexing (l paifb s) 0 where-  paifb = cotabulate $ \wa -> Indexing $ \i -> let i' = i + 1 in i' `seq` (i', if i < n then pure (extract wa) else corep pafb wa)+  paifb = cotabulate $ \wa -> Indexing $ \i -> let i' = i + 1 in i' `seq` (i', if i < n then pure (extract wa) else cosieve pafb wa) {-# INLINE dropping #-}  ------------------------------------------------------------------------------@@ -846,7 +847,7 @@ -- as such, use 'Control.Lens.Lens.cloneLens'. -- -- Note: It is usually better to use 'Control.Lens.Reified.ReifiedTraversal' and--- 'Control.Lens.Reified.reflectTraversal' than to 'cloneTraversal'. The+-- 'Control.Lens.Reified.runTraversal' than to 'cloneTraversal'. The -- former can execute at full speed, while the latter needs to round trip through -- the 'Bazaar'. --@@ -864,7 +865,7 @@ -- | Clone a 'Traversal' yielding an 'IndexPreservingTraversal' that passes through -- whatever index it is composed with. cloneIndexPreservingTraversal :: ATraversal s t a b -> IndexPreservingTraversal s t a b-cloneIndexPreservingTraversal l pafb = cotabulate $ \ws -> runBazaar (l sell (extract ws)) $ \a -> corep pafb (a <$ ws)+cloneIndexPreservingTraversal l pafb = cotabulate $ \ws -> runBazaar (l sell (extract ws)) $ \a -> cosieve pafb (a <$ ws) {-# INLINE cloneIndexPreservingTraversal #-}  -- | Clone an 'IndexedTraversal' yielding an 'IndexedTraversal' with the same index.@@ -880,7 +881,7 @@ -- | Clone a 'Traversal1' yielding an 'IndexPreservingTraversal1' that passes through -- whatever index it is composed with. cloneIndexPreservingTraversal1 :: ATraversal1 s t a b -> IndexPreservingTraversal1 s t a b-cloneIndexPreservingTraversal1 l pafb = cotabulate $ \ws -> runBazaar1 (l sell (extract ws)) $ \a -> corep pafb (a <$ ws)+cloneIndexPreservingTraversal1 l pafb = cotabulate $ \ws -> runBazaar1 (l sell (extract ws)) $ \a -> cosieve pafb (a <$ ws) {-# INLINE cloneIndexPreservingTraversal1 #-}  -- | Clone an 'IndexedTraversal1' yielding an 'IndexedTraversal1' with the same index.@@ -1201,11 +1202,12 @@ -- 'failing' :: 'IndexedLens' i s t a b      -> 'IndexedTraversal' i s t a b -> 'IndexedTraversal' i s t a b -- 'failing' :: 'IndexedGetter' i s a        -> 'IndexedGetter' i s a        -> 'IndexedFold' i s a -- @-failing :: (Conjoined p, Applicative f) => Traversing p f s t a b -> Traversing p f s t a b -> Over p f s t a b+failing :: (Conjoined p, Applicative f) => Traversing p f s t a b -> Over p f s t a b -> Over p f s t a b failing l r pafb s = case pins b of-  [] -> runBazaarT (r sell s) pafb-  xs -> unsafeOuts b <$> traverse (corep pafb) xs+  [] -> r pafb s+  _  -> bazaar pafb b   where b = l sell s+ infixl 5 `failing`  -- | Try the second traversal. If it returns no entries, try again with all entries from the first traversal, recursively.@@ -1221,7 +1223,7 @@ deepOf r l pafb = go   where go s = case pins b of           [] -> r go s-          xs -> unsafeOuts b <$> traverse (corep pafb) xs+          xs -> unsafeOuts b <$> traverse (cosieve pafb) xs           where b = l sell s  -- | "Fuse" a 'Traversal' by reassociating all of the '\<*\>' operations to the