Utils
- showOct :: Integral a => a -> ShowS
- showHex :: Integral a => a -> ShowS
- mapFromMb :: b -> (a -> b) -> Maybe a -> b
- mapMb :: (a -> b) -> Maybe a -> Maybe b
- mapMbM :: Monad m => (a -> m b) -> Maybe a -> m (Maybe b)
- concMaybe :: Maybe a -> Maybe a -> Maybe a
- toMaybe :: (a -> Bool) -> a -> Maybe a
- split :: Eq a => a -> [a] -> [[a]]
- splitLast :: Eq a => [a] -> [a] -> ([a], [a])
- splitLastBy :: ([a] -> Bool) -> ([a] -> [a]) -> [a] -> ([a], [a])
- prefix :: Eq a => [a] -> [a] -> Maybe [a]
- traceIf :: Bool -> String -> a -> a
- elemBy :: (a -> Bool) -> [a] -> Bool
- mapUnzip :: (a -> (b, c)) -> [a] -> ([b], [c])
- diff :: Num a => [a] -> [a]
- deEscapeString :: String -> String
- (#) :: a -> (a -> b) -> b
- dropSuffix :: String -> String
- trace :: String -> a -> a
- tryOpen :: Bool -> [FilePath] -> [String] -> FilePath -> IO (Maybe FilePath)
- basename :: String -> String
- splitdir :: String -> (String, String)
- prefixDir :: String -> String -> String
- hdirect_root :: String
- bailIf :: Bool -> a -> a -> a
- decons :: [a] -> ([a], a)
- safe_init :: [a] -> [a]
- snoc :: [a] -> a -> [a]
- mapAccumLM :: Monad m => (acc -> x -> m (acc, y)) -> acc -> [x] -> m (acc, [y])
- notNull :: [a] -> Bool
Documentation
splitLastBy :: ([a] -> Bool) -> ([a] -> [a]) -> [a] -> ([a], [a])Source
deEscapeString :: String -> StringSource
dropSuffix :: String -> StringSource
When called, trace
outputs the string in its first argument, before
returning the second argument as its result. The trace
function is not
referentially transparent, and should only be used for debugging, or for
monitoring execution. Some implementations of trace
may decorate the string
that's output to indicate that you're tracing. The function is implemented on
top of putTraceMsg
.
mapAccumLM :: Monad m => (acc -> x -> m (acc, y)) -> acc -> [x] -> m (acc, [y])Source