Hoogle Search
Within LTS Haskell 24.35 (ghc-9.10.3)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
bimapBoth :: Bifunctor f => (a -> b) -> f a a -> f b brelude Relude.Extra.Bifunctor Maps a function over both elements of a bifunctor.
>>> bimapBoth length ([True], [False, True]) (1,2) >>> map (bimapBoth not) [Left True, Right False] [Left False,Right True]
bimapF :: (Functor f, Bifunctor p) => (a -> c) -> (b -> d) -> f (p a b) -> f (p c d)relude Relude.Extra.Bifunctor Fmaps functions for nested bifunctor. Short for fmap (bimap f g).
>>> bimapF not length $ Just (False, ['a', 'b']) Just (True,2)
foldMap1 :: (Foldable1 f, Semigroup m) => (a -> m) -> f a -> mrelude Relude.Extra.Foldable1 Map each element of the non-empty structure to a semigroup, and combine the results.
>>> foldMap1 SG.Sum (1 :| [2, 3, 4]) Sum {getSum = 10} >>> foldMap1 show (123 :| [456, 789, 0]) "1234567890"class StaticMap t =>
DynamicMap trelude Relude.Extra.Map Modifiable Map.
-
relude Relude.Extra.Map Read-only map or set. Contains polymorphic functions which work for both sets and maps.
fmapToFst :: Functor f => (a -> b) -> f a -> f (b, a)relude Relude.Extra.Tuple Like fmap, but also keep the original value in the snd position. A dual to fmapToSnd.
>>> fmapToFst show [3, 10, 2] [("3",3),("10",10),("2",2)]fmapToSnd :: Functor f => (a -> b) -> f a -> f (a, b)relude Relude.Extra.Tuple Like fmap, but also keep the original value in the fst position. A dual to fmapToFst.
>>> fmapToSnd show [3, 10, 2] [(3,"3"),(10,"10"),(2,"2")]
asumMap :: forall b m f a . (Foldable f, Alternative m) => (a -> m b) -> f a -> m brelude Relude.Foldable.Fold Alternative version of asum that takes a function to map over.
>>> asumMap (\x -> if x > 2 then Just x else Nothing) [1..4] Just 3
foldMapA :: (Semigroup b, Monoid b, Applicative m, Foldable f) => (a -> m b) -> f a -> m brelude Relude.Foldable.Fold Polymorphic version of the concatMapA function.
>>> foldMapA @[Int] (Just . replicate 3) [1..3] Just [1,1,1,2,2,2,3,3,3]
foldMapM :: (Monoid b, Monad m, Foldable f) => (a -> m b) -> f a -> m brelude Relude.Foldable.Fold Polymorphic version of the concatMapM function.
>>> foldMapM @[Int] (Just . replicate 3) [1..3] Just [1,1,1,2,2,2,3,3,3]