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.
bimap :: Bifunctor p => (a -> b) -> (c -> d) -> p a c -> p b dlens Control.Lens.Combinators 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
-
lens Control.Lens.Combinators Lift two Isos into both arguments of a Bifunctor.
bimapping :: Bifunctor p => Iso s t a b -> Iso s' t' a' b' -> Iso (p s s') (p t t') (p a a') (p b b') bimapping :: Bifunctor p => Iso' s a -> Iso' s' a' -> Iso' (p s s') (p a a')
concatMapOf :: Getting [r] s a -> (a -> [r]) -> s -> [r]lens Control.Lens.Combinators Map a function over all the targets of a Fold of a container and concatenate the resulting lists.
>>> concatMapOf both (\x -> [x, x + 1]) (1,3) [1,2,3,4]
concatMap ≡ concatMapOf folded
concatMapOf :: Getter s a -> (a -> [r]) -> s -> [r] concatMapOf :: Fold s a -> (a -> [r]) -> s -> [r] concatMapOf :: Lens' s a -> (a -> [r]) -> s -> [r] concatMapOf :: Iso' s a -> (a -> [r]) -> s -> [r] concatMapOf :: Traversal' s a -> (a -> [r]) -> s -> [r]
contramap :: Contravariant f => (a' -> a) -> f a -> f a'lens Control.Lens.Combinators No documentation available.
contramapped :: forall (f :: Type -> Type) b a . Contravariant f => Setter (f b) (f a) a blens Control.Lens.Combinators 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]
-
lens Control.Lens.Combinators Lift an Iso into a Contravariant functor.
contramapping :: Contravariant f => Iso s t a b -> Iso (f a) (f b) (f s) (f t) contramapping :: Contravariant f => Iso' s a -> Iso' (f a) (f s)
dimap :: Profunctor p => (a -> b) -> (c -> d) -> p b c -> p a dlens Control.Lens.Combinators Map over both arguments at the same time.
dimap f g ≡ lmap f . rmap g
-
lens Control.Lens.Combinators 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')
foldMapBy :: Foldable t => (r -> r -> r) -> r -> (a -> r) -> t a -> rlens Control.Lens.Combinators Fold a value using its Foldable instance using explicitly provided Monoid operations. This is like foldMap where the Monoid instance can be manually specified.
foldMapBy mappend mempty ≡ foldMap
>>> foldMapBy (+) 0 length ["hello","world"] 10
foldMapByOf :: Fold s a -> (r -> r -> r) -> r -> (a -> r) -> s -> rlens Control.Lens.Combinators Fold a value using a specified Fold and Monoid operations. This is like foldMapBy where the Foldable instance can be manually specified.
foldMapByOf folded ≡ foldMapBy
foldMapByOf :: Getter s a -> (r -> r -> r) -> r -> (a -> r) -> s -> r foldMapByOf :: Fold s a -> (r -> r -> r) -> r -> (a -> r) -> s -> r foldMapByOf :: Traversal' s a -> (r -> r -> r) -> r -> (a -> r) -> s -> r foldMapByOf :: Lens' s a -> (r -> r -> r) -> r -> (a -> r) -> s -> r foldMapByOf :: Iso' s a -> (r -> r -> r) -> r -> (a -> r) -> s -> r
>>> foldMapByOf both (+) 0 length ("hello","world") 10