Various helper routines.
- type Seconds = Int
- type EpochSeconds = Int64
- epochSeconds :: CalendarTime -> EpochSeconds
- eSecsToCalTime :: EpochSeconds -> IO CalendarTime
- epochPico :: CalendarTime -> Integer
- logMC :: Priority -> String -> IO ()
- hPutLine :: Handle -> String -> IO ()
- hGetLn :: Handle -> IO String
- unBracket, trim, rtrim, ltrim :: String -> String
- splitList :: Eq a => a -> [a] -> [[a]]
- splitListBy :: (a -> Bool) -> [a] -> [[a]]
- split :: (a -> Bool) -> [a] -> ([a], [a])
- mbReadFile :: a -> (String -> a) -> FilePath -> IO a
- mapFst :: (a -> b) -> [(a, x)] -> [(b, x)]
- mapSnd :: (a -> b) -> [(x, a)] -> [(x, b)]
- revmap :: a -> [a -> b] -> [b]
- comp :: Ord t => (a -> t) -> a -> a -> Ordering
- runCommand :: String -> [String] -> IO ()
- debug :: Show a => String -> a -> a
- debugM :: Monad m => String -> m ()
- readM :: (Monad m, Read t) => String -> m t
- maybeM :: Monad m => Maybe a -> m a
- boolM :: MonadPlus m => Bool -> m Bool
- notMb :: a -> Maybe a -> Maybe a
- periodic :: [Int] -> IO () -> IO ThreadId
- (.^) :: Int -> Int -> Int
- periodic' :: [Int] -> IO a -> IO a
Documentation
type EpochSeconds = Int64Source
hPutLine :: Handle -> String -> IO ()Source
Put a line into a handle followed by rn and echo to stdout
splitList :: Eq a => a -> [a] -> [[a]]Source
Removes the whitespace surrounding a string as well
as the first and last character.
unBracket (asdf) = asdf
Drops the whitespace at the start of the string
Drops the whitespace at the end of the string
Trims the beginning and ending whitespace of a string
Repeadly splits a list by the provided separator and collects the results
splitListBy :: (a -> Bool) -> [a] -> [[a]]Source
Repeatedly splits a list and collects the results
split :: (a -> Bool) -> [a] -> ([a], [a])Source
Split is like break, but the matching element is dropped.
mbReadFile :: a -> (String -> a) -> FilePath -> IO aSource
Read file with a default value if the file does not exist.
runCommand :: String -> [String] -> IO ()Source
Run an external command. Upon failure print status to stderr.
debug :: Show a => String -> a -> aSource
Unsafe tracing, outputs the message and the value to stderr.
maybeM :: Monad m => Maybe a -> m aSource
Convert Maybe into an another monad. This is a simple injection that calls fail when given a Nothing.
boolM :: MonadPlus m => Bool -> m BoolSource
Lifts a bool into a MonadPlus, with False mapped to the mzero.
notMb :: a -> Maybe a -> Maybe aSource
notMb a b
returns Just a
if b
is Nothing
and Nothing
if
b
is Just _
.