Hoogle Search

Within LTS Haskell 24.6 (ghc-9.10.2)

Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.

  1. mapWhenMatched :: forall (f :: Type -> Type) a b x y . Functor f => (a -> b) -> WhenMatched f x y a -> WhenMatched f x y b

    ghc GHC.Data.Word64Map.Internal

    Map covariantly over a WhenMatched f x y.

  2. mapWhenMissing :: forall (f :: Type -> Type) a b x . (Applicative f, Monad f) => (a -> b) -> WhenMissing f x a -> WhenMissing f x b

    ghc GHC.Data.Word64Map.Internal

    Map covariantly over a WhenMissing f x.

  3. mapWithKey :: (Key -> a -> b) -> Word64Map a -> Word64Map b

    ghc GHC.Data.Word64Map.Internal

    Map a function over all values in the map.

    let f key x = (show key) ++ ":" ++ x
    mapWithKey f (fromList [(5,"a"), (3,"b")]) == fromList [(3, "3:b"), (5, "5:a")]
    

  4. mapAccum :: (a -> b -> (a, c)) -> a -> Word64Map b -> (a, Word64Map c)

    ghc GHC.Data.Word64Map.Lazy

    The function mapAccum threads an accumulating argument through the map in ascending order of keys.

    let f a b = (a ++ b, b ++ "X")
    mapAccum f "Everything: " (fromList [(5,"a"), (3,"b")]) == ("Everything: ba", fromList [(3, "bX"), (5, "aX")])
    

  5. mapAccumRWithKey :: (a -> Key -> b -> (a, c)) -> a -> Word64Map b -> (a, Word64Map c)

    ghc GHC.Data.Word64Map.Lazy

    The function mapAccumRWithKey threads an accumulating argument through the map in descending order of keys.

  6. mapAccumWithKey :: (a -> Key -> b -> (a, c)) -> a -> Word64Map b -> (a, Word64Map c)

    ghc GHC.Data.Word64Map.Lazy

    The function mapAccumWithKey threads an accumulating argument through the map in ascending order of keys.

    let f a k b = (a ++ " " ++ (show k) ++ "-" ++ b, b ++ "X")
    mapAccumWithKey f "Everything:" (fromList [(5,"a"), (3,"b")]) == ("Everything: 3-b 5-a", fromList [(3, "bX"), (5, "aX")])
    

  7. mapEither :: (a -> Either b c) -> Word64Map a -> (Word64Map b, Word64Map c)

    ghc GHC.Data.Word64Map.Lazy

    Map values and separate the Left and Right results.

    let f a = if a < "c" then Left a else Right a
    mapEither f (fromList [(5,"a"), (3,"b"), (1,"x"), (7,"z")])
    == (fromList [(3,"b"), (5,"a")], fromList [(1,"x"), (7,"z")])
    
    mapEither (\ a -> Right a) (fromList [(5,"a"), (3,"b"), (1,"x"), (7,"z")])
    == (empty, fromList [(5,"a"), (3,"b"), (1,"x"), (7,"z")])
    

  8. mapEitherWithKey :: (Key -> a -> Either b c) -> Word64Map a -> (Word64Map b, Word64Map c)

    ghc GHC.Data.Word64Map.Lazy

    Map keys/values and separate the Left and Right results.

    let f k a = if k < 5 then Left (k * 2) else Right (a ++ a)
    mapEitherWithKey f (fromList [(5,"a"), (3,"b"), (1,"x"), (7,"z")])
    == (fromList [(1,2), (3,6)], fromList [(5,"aa"), (7,"zz")])
    
    mapEitherWithKey (\_ a -> Right a) (fromList [(5,"a"), (3,"b"), (1,"x"), (7,"z")])
    == (empty, fromList [(1,"x"), (3,"b"), (5,"a"), (7,"z")])
    

  9. mapKeys :: (Key -> Key) -> Word64Map a -> Word64Map a

    ghc GHC.Data.Word64Map.Lazy

    mapKeys f s is the map obtained by applying f to each key of s. The size of the result may be smaller if f maps two or more distinct keys to the same new key. In this case the value at the greatest of the original keys is retained.

    mapKeys (+ 1) (fromList [(5,"a"), (3,"b")])                        == fromList [(4, "b"), (6, "a")]
    mapKeys (\ _ -> 1) (fromList [(1,"b"), (2,"a"), (3,"d"), (4,"c")]) == singleton 1 "c"
    mapKeys (\ _ -> 3) (fromList [(1,"b"), (2,"a"), (3,"d"), (4,"c")]) == singleton 3 "c"
    

  10. mapKeysMonotonic :: (Key -> Key) -> Word64Map a -> Word64Map a

    ghc GHC.Data.Word64Map.Lazy

    mapKeysMonotonic f s == mapKeys f s, but works only when f is strictly monotonic. That is, for any values x and y, if x < y then f x < f y. The precondition is not checked. Semi-formally, we have:

    and [x < y ==> f x < f y | x <- ls, y <- ls]
    ==> mapKeysMonotonic f s == mapKeys f s
    where ls = keys s
    
    This means that f maps distinct original keys to distinct resulting keys. This function has slightly better performance than mapKeys.
    mapKeysMonotonic (\ k -> k * 2) (fromList [(5,"a"), (3,"b")]) == fromList [(6, "b"), (10, "a")]
    

Page 99 of many | Previous | Next