Hoogle Search
Within LTS Haskell 24.58 (ghc-9.10.3)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
stripPrefix :: ByteString -> ByteString -> Maybe ByteStringrio RIO.ByteString.Lazy O(n) The stripPrefix function takes two ByteStrings and returns Just the remainder of the second iff the first is its prefix, and otherwise Nothing.
stripSuffix :: ByteString -> ByteString -> Maybe ByteStringrio RIO.ByteString.Lazy O(n) The stripSuffix function takes two ByteStrings and returns Just the remainder of the second iff the first is its suffix, and otherwise Nothing.
dropPrefix :: Eq a => [a] -> [a] -> [a]rio RIO.List Drop prefix if present, otherwise return original list.
dropSuffix :: Eq a => [a] -> [a] -> [a]rio RIO.List Drop prefix if present, otherwise return original list.
isInfixOf :: Eq a => [a] -> [a] -> Boolrio RIO.List The isInfixOf function takes two lists and returns True iff the first list is contained, wholly and intact, anywhere within the second.
Examples
>>> isInfixOf "Haskell" "I really like Haskell." True
>>> isInfixOf "Ial" "I really like Haskell." False
For the result to be True, the first list must be finite; for the result to be False, the second list must be finite:>>> [20..50] `isInfixOf` [0..] True
>>> [0..] `isInfixOf` [20..50] False
>>> [0..] `isInfixOf` [0..] * Hangs forever *
isPrefixOf :: Eq a => [a] -> [a] -> Boolrio RIO.List The isPrefixOf function takes two lists and returns True iff the first list is a prefix of the second.
Examples
>>> "Hello" `isPrefixOf` "Hello World!" True
>>> "Hello" `isPrefixOf` "Wello Horld!" False
For the result to be True, the first list must be finite; False, however, results from any mismatch:>>> [0..] `isPrefixOf` [1..] False
>>> [0..] `isPrefixOf` [0..99] False
>>> [0..99] `isPrefixOf` [0..] True
>>> [0..] `isPrefixOf` [0..] * Hangs forever *
isPrefixOf shortcuts when the first argument is empty:>>> isPrefixOf [] undefined True
isSuffixOf :: Eq a => [a] -> [a] -> Boolrio RIO.List The isSuffixOf function takes two lists and returns True iff the first list is a suffix of the second.
Examples
>>> "ld!" `isSuffixOf` "Hello World!" True
>>> "World" `isSuffixOf` "Hello World!" False
The second list must be finite; however the first list may be infinite:>>> [0..] `isSuffixOf` [0..99] False
>>> [0..99] `isSuffixOf` [0..] * Hangs forever *
stripPrefix :: Eq a => [a] -> [a] -> Maybe [a]rio RIO.List The stripPrefix function drops the given prefix from a list. It returns Nothing if the list did not start with the prefix given, or Just the list after the prefix, if it does.
Examples
>>> stripPrefix "foo" "foobar" Just "bar"
>>> stripPrefix "foo" "foo" Just ""
>>> stripPrefix "foo" "barfoo" Nothing
>>> stripPrefix "foo" "barfoobaz" Nothing
stripSuffix :: Eq a => [a] -> [a] -> Maybe [a]rio RIO.List Remove the suffix from the given list, if present
isPrefixOf :: Eq a => [a] -> NonEmpty a -> Boolrio RIO.NonEmpty The isPrefixOf function returns True if the first argument is a prefix of the second.