Safe Haskell | Safe-Inferred |
---|
- consperse :: [a] -> [[a]] -> [a]
- surround :: [a] -> [a] -> [[a]] -> [a]
- changePrefix :: Eq a => [a] -> [a] -> [a] -> Maybe [a]
- dropPrefix :: Eq a => [a] -> [a] -> Maybe [a]
- cartesianProduct :: [[a]] -> [[a]]
- wordsBy :: Eq a => (a -> Bool) -> [a] -> [[a]]
- empty :: b -> ([a] -> b) -> [a] -> b
- sortByMapped :: (a -> b) -> (b -> b -> Ordering) -> [a] -> [a]
- sortByMappedM :: (a -> IO b) -> (b -> b -> Ordering) -> [a] -> IO [a]
- partitionM :: Monad m => (a -> m Bool) -> [a] -> m ([a], [a])
- listIntersection :: Eq a => [[a]] -> [a]
- isSublistOf :: Eq a => [a] -> [a] -> Maybe Int
Documentation
changePrefix :: Eq a => [a] -> [a] -> [a] -> Maybe [a]Source
Replace the prefix of s, return Nothing if it doesn't match.
dropPrefix :: Eq a => [a] -> [a] -> Maybe [a]Source
Remove a prefix of s, return nothing if it doesn't match.
cartesianProduct :: [[a]] -> [[a]]Source
cartesianProduct [[1,2,3], [4,5],[6]] -> [[1,4,6],[1,5,6],[2,4,6],[2,5,6],[3,4,6],[3,5,6]]
sortByMapped :: (a -> b) -> (b -> b -> Ordering) -> [a] -> [a]Source
Sort a list using the compare function on the list elements mapped over f. This is like sortBy ( a b -> compare (f a) (f b)) except that f is applied O(n) times instead of O(n log n)
sortByMappedM :: (a -> IO b) -> (b -> b -> Ordering) -> [a] -> IO [a]Source
Monadic version of sortByMapped
partitionM :: Monad m => (a -> m Bool) -> [a] -> m ([a], [a])Source
listIntersection :: Eq a => [[a]] -> [a]Source
isSublistOf :: Eq a => [a] -> [a] -> Maybe IntSource