Hoogle Search
Within LTS Haskell 24.62 (ghc-9.10.3)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
insertLookupWithKey :: Ord k => (k -> a -> a -> a) -> k -> a -> Map k a -> (Maybe a, Map k a)rio RIO.Map Combines insert operation with old value retrieval. The expression (insertLookupWithKey f k x map) is a pair where the first element is equal to (lookup k map) and the second element equal to (insertWithKey f k x map).
let f key new_value old_value = (show key) ++ ":" ++ new_value ++ "|" ++ old_value insertLookupWithKey f 5 "xxx" (fromList [(5,"a"), (3,"b")]) == (Just "a", fromList [(3, "b"), (5, "5:xxx|a")]) insertLookupWithKey f 7 "xxx" (fromList [(5,"a"), (3,"b")]) == (Nothing, fromList [(3, "b"), (5, "a"), (7, "xxx")]) insertLookupWithKey f 5 "xxx" empty == (Nothing, singleton 5 "xxx")
This is how to define insertLookup using insertLookupWithKey:let insertLookup kx x t = insertLookupWithKey (\_ a _ -> a) kx x t insertLookup 5 "x" (fromList [(5,"a"), (3,"b")]) == (Just "a", fromList [(3, "b"), (5, "x")]) insertLookup 7 "x" (fromList [(5,"a"), (3,"b")]) == (Nothing, fromList [(3, "b"), (5, "a"), (7, "x")])
Also see the performance note on fromListWith.splitLookup :: Ord k => k -> Map k a -> (Map k a, Maybe a, Map k a)rio RIO.Map The expression (splitLookup k map) splits a map just like split but also returns lookup k map.
splitLookup 2 (fromList [(5,"a"), (3,"b")]) == (empty, Nothing, fromList [(3,"b"), (5,"a")]) splitLookup 3 (fromList [(5,"a"), (3,"b")]) == (empty, Just "b", singleton 5 "a") splitLookup 4 (fromList [(5,"a"), (3,"b")]) == (singleton 3 "b", Nothing, singleton 5 "a") splitLookup 5 (fromList [(5,"a"), (3,"b")]) == (singleton 3 "b", Just "a", empty) splitLookup 6 (fromList [(5,"a"), (3,"b")]) == (fromList [(3,"b"), (5,"a")], Nothing, empty)
updateLookupWithKey :: Ord k => (k -> a -> Maybe a) -> k -> Map k a -> (Maybe a, Map k a)rio RIO.Map Lookup and update. See also updateWithKey. The function returns changed value, if it is updated. Returns the original key value if the map entry is deleted.
let f k x = if x == "a" then Just ((show k) ++ ":new a") else Nothing updateLookupWithKey f 5 (fromList [(5,"a"), (3,"b")]) == (Just "5:new a", fromList [(3, "b"), (5, "5:new a")]) updateLookupWithKey f 7 (fromList [(5,"a"), (3,"b")]) == (Nothing, fromList [(3, "b"), (5, "a")]) updateLookupWithKey f 3 (fromList [(5,"a"), (3,"b")]) == (Just "b", singleton 5 "a")
defaultMimeLookup :: FileName -> MimeTypemime-types Network.Mime mimeByExt applied to defaultMimeType and defaultMimeMap.
deleteLookup :: IsNode a => Key a -> Graph a -> (Maybe a, Graph a)Cabal-syntax Distribution.Compat.Graph O(log V). Lookup and delete. This function returns the deleted value if it existed.
-
fgl Data.Graph.Inductive.NodeMap Act as insMapNode, but return also a boolean set as True if the node was already in the map.
mkLookupNode :: Ord a => NodeMap a -> a -> (Bool, LNode a, NodeMap a)fgl Data.Graph.Inductive.NodeMap Act as mkNode, but return also a boolean set as True if the node was already in the map.
type
C_VfsFileLookupFunc = Ptr Vfs -> CString -> Ptr () -> IO Ptr Filegi-gio GI.Gio.Callbacks Type for the callback on the (unwrapped) C side.
type
VfsFileLookupFunc = Vfs -> Text -> IO Maybe Filegi-gio GI.Gio.Callbacks This function type is used by vfsRegisterUriScheme to make it possible for a client to associate an URI scheme to a different File implementation. The client should return a reference to the new file that has been created for uri, or Nothing to continue with the default implementation. Since: 2.50
type
VfsFileLookupFunc_WithClosures = Vfs -> Text -> Ptr () -> IO Maybe Filegi-gio GI.Gio.Callbacks This function type is used by vfsRegisterUriScheme to make it possible for a client to associate an URI scheme to a different File implementation. The client should return a reference to the new file that has been created for uri, or Nothing to continue with the default implementation. Since: 2.50