Hoogle Search

Within LTS Haskell 24.32 (ghc-9.10.3)

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

  1. mapMaybeMissing :: forall (f :: Type -> Type) x y . Applicative f => (Key -> x -> Maybe y) -> WhenMissing f x y

    containers Data.IntMap.Internal

    Map over the entries whose keys are missing from the other map, optionally removing some. This is the most powerful SimpleWhenMissing tactic, but others are usually more efficient.

    mapMaybeMissing :: (Key -> x -> Maybe y) -> SimpleWhenMissing x y
    
    mapMaybeMissing f = traverseMaybeMissing (\k x -> pure (f k x))
    
    but mapMaybeMissing uses fewer unnecessary Applicative operations.

  2. mapMaybeWithKey :: (Key -> a -> Maybe b) -> IntMap a -> IntMap b

    containers Data.IntMap.Internal

    Map keys/values and collect the Just results.

    let f k _ = if k < 5 then Just ("key : " ++ (show k)) else Nothing
    mapMaybeWithKey f (fromList [(5,"a"), (3,"b")]) == singleton 3 "key : 3"
    

  3. traverseMaybeMissing :: Applicative f => (Key -> x -> f (Maybe y)) -> WhenMissing f x y

    containers Data.IntMap.Internal

    Traverse over the entries whose keys are missing from the other map, optionally producing values to put in the result. This is the most powerful WhenMissing tactic, but others are usually more efficient.

  4. traverseMaybeWithKey :: Applicative f => (Key -> a -> f (Maybe b)) -> IntMap a -> f (IntMap b)

    containers Data.IntMap.Internal

    Traverse keys/values and collect the Just results.

  5. zipWithMaybeAMatched :: (Key -> x -> y -> f (Maybe z)) -> WhenMatched f x y z

    containers Data.IntMap.Internal

    When a key is found in both maps, apply a function to the key and values, perform the resulting action, and maybe use the result in the merged map. This is the fundamental WhenMatched tactic.

  6. zipWithMaybeMatched :: forall (f :: Type -> Type) x y z . Applicative f => (Key -> x -> y -> Maybe z) -> WhenMatched f x y z

    containers Data.IntMap.Internal

    When a key is found in both maps, apply a function to the key and values and maybe use the result in the merged map.

    zipWithMaybeMatched
    :: (Key -> x -> y -> Maybe z)
    -> SimpleWhenMatched x y z
    

  7. mapMaybe :: (a -> Maybe b) -> IntMap a -> IntMap b

    containers Data.IntMap.Lazy

    Map values and collect the Just results.

    let f x = if x == "a" then Just "new a" else Nothing
    mapMaybe f (fromList [(5,"a"), (3,"b")]) == singleton 5 "new a"
    

  8. mapMaybeWithKey :: (Key -> a -> Maybe b) -> IntMap a -> IntMap b

    containers Data.IntMap.Lazy

    Map keys/values and collect the Just results.

    let f k _ = if k < 5 then Just ("key : " ++ (show k)) else Nothing
    mapMaybeWithKey f (fromList [(5,"a"), (3,"b")]) == singleton 3 "key : 3"
    

  9. traverseMaybeWithKey :: Applicative f => (Key -> a -> f (Maybe b)) -> IntMap a -> f (IntMap b)

    containers Data.IntMap.Lazy

    Traverse keys/values and collect the Just results.

  10. mapMaybeMissing :: forall (f :: Type -> Type) x y . Applicative f => (Key -> x -> Maybe y) -> WhenMissing f x y

    containers Data.IntMap.Merge.Lazy

    Map over the entries whose keys are missing from the other map, optionally removing some. This is the most powerful SimpleWhenMissing tactic, but others are usually more efficient.

    mapMaybeMissing :: (Key -> x -> Maybe y) -> SimpleWhenMissing x y
    
    mapMaybeMissing f = traverseMaybeMissing (\k x -> pure (f k x))
    
    but mapMaybeMissing uses fewer unnecessary Applicative operations.

Page 101 of many | Previous | Next