Hoogle Search
Within LTS Haskell 24.34 (ghc-9.10.3)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
-
lens Control.Lens.Iso Lift two Isos into both arguments of a Profunctor simultaneously.
dimapping :: Profunctor p => Iso s t a b -> Iso s' t' a' b' -> Iso (p a s') (p b t') (p s a') (p t b') dimapping :: Profunctor p => Iso' s a -> Iso' s' a' -> Iso' (p a s') (p s a')
lmap :: Profunctor p => (a -> b) -> p b c -> p a clens Control.Lens.Iso Map the first argument contravariantly.
lmap f ≡ dimap f id
-
lens Control.Lens.Iso Lift an Iso contravariantly into the left argument of a Profunctor.
lmapping :: Profunctor p => Iso s t a b -> Iso (p a x) (p b y) (p s x) (p t y) lmapping :: Profunctor p => Iso' s a -> Iso' (p a x) (p s x)
rmap :: Profunctor p => (b -> c) -> p a b -> p a clens Control.Lens.Iso Map the second argument covariantly.
rmap ≡ dimap id
-
lens Control.Lens.Iso Lift an Iso covariantly into the right argument of a Profunctor.
rmapping :: Profunctor p => Iso s t a b -> Iso (p x s) (p y t) (p x a) (p y b) rmapping :: Profunctor p => Iso' s a -> Iso' (p x s) (p x a)
bimap :: Bifunctor p => (a -> b) -> (c -> d) -> p a c -> p b dlens Control.Lens.Review Map over both arguments at the same time.
bimap f g ≡ first f . second g
Examples
>>> bimap toUpper (+1) ('j', 3) ('J',4)>>> bimap toUpper (+1) (Left 'j') Left 'J'
>>> bimap toUpper (+1) (Right 3) Right 4
contramapped :: forall (f :: Type -> Type) b a . Contravariant f => Setter (f b) (f a) a blens Control.Lens.Setter This Setter can be used to map over all of the inputs to a Contravariant.
contramap ≡ over contramapped
>>> getPredicate (over contramapped (*2) (Predicate even)) 5 True
>>> getOp (over contramapped (*5) (Op show)) 100 "500"
>>> Prelude.map ($ 1) $ over (mapped . _Unwrapping' Op . contramapped) (*12) [(*2),(+1),(^3)] [24,13,1728]
imapOf :: AnIndexedSetter i s t a b -> (i -> a -> b) -> s -> tlens Control.Lens.Setter Deprecated: Use iover
-
lens Control.Lens.Traversal Generalizes mapAccumL to an arbitrary IndexedTraversal with access to the index. imapAccumLOf accumulates state from left to right.
mapAccumLOf l ≡ imapAccumLOf l . const
imapAccumLOf :: IndexedLens i s t a b -> (i -> acc -> a -> (acc, b)) -> acc -> s -> (acc, t) imapAccumLOf :: IndexedTraversal i s t a b -> (i -> acc -> a -> (acc, b)) -> acc -> s -> (acc, t)
-
lens Control.Lens.Traversal Generalizes mapAccumR to an arbitrary IndexedTraversal with access to the index. imapAccumROf accumulates state from right to left.
mapAccumROf l ≡ imapAccumROf l . const
imapAccumROf :: IndexedLens i s t a b -> (i -> acc -> a -> (acc, b)) -> acc -> s -> (acc, t) imapAccumROf :: IndexedTraversal i s t a b -> (i -> acc -> a -> (acc, b)) -> acc -> s -> (acc, t)