YhcSource codeContentsIndex
Util.Extra
Contents
Test integers for their size bounds
Synopsis
exitFail :: IO a
space :: Int -> String
fst3 :: (a, b, c) -> a
snd3 :: (a, b, c) -> b
thd3 :: (a, b, c) -> c
sndOf :: a -> b -> b
makeDouble :: Integer -> Double -> Int -> Double
mapListSnd :: (a -> b) -> [(c, a)] -> [(c, b)]
foldls :: (a -> b -> a) -> a -> [b] -> a
split :: Eq a => [a] -> a -> [[a]]
strace :: String -> a -> a
warning :: String -> a -> a
fstOf :: a -> b -> a
safeTail :: [a] -> [a]
snub :: Eq a => [a] -> [a]
pair :: a -> b -> (a, b)
triple :: a -> b -> c -> (a, b, c)
isLeft :: Either a b -> Bool
isRight :: Either a b -> Bool
dropLeft :: Either a b -> a
dropRight :: Either a b -> b
dropEither :: Either a a -> a
mapPair :: (a -> b) -> (c -> d) -> (a, c) -> (b, d)
mapFst :: (a -> b) -> (a, o) -> (b, o)
mapSnd :: (a -> b) -> (o, a) -> (o, b)
findLeft :: [Either e a] -> Either e [a]
eitherMap :: (a -> Either e b) -> [a] -> Either e [b]
jRight :: Int -> [Char] -> [Char]
jLeft :: Int -> [Char] -> [Char]
partitions :: Eq b => (a -> b) -> [a] -> [[a]]
mix :: String -> [String] -> String
mixSpace :: [String] -> String
mixComma :: [String] -> String
mixLine :: [String] -> String
mixCommaAnd :: [String] -> String
assoc :: Eq a => a -> [(a, b)] -> b
assocDef :: Eq a => [(a, b)] -> b -> a -> b
data Pos = P !Int !Int
type Line = Int
type Column = Int
pos2Int :: Pos -> Int
toPos :: Line -> Column -> Line -> Column -> Pos
insertPos :: Pos -> Pos
noPos :: Pos
mergePos :: Pos -> Pos -> Pos
mergePoss :: [Pos] -> Pos
fromPos :: Pos -> (Line, Column, Line, Column)
strPos :: Pos -> String
data SplitIntegral
= SplitPos [Int]
| SplitZero
| SplitNeg [Int]
splitIntegral :: Integral n => n -> SplitIntegral
type Set a = [a]
emptySet :: Set a
singletonSet :: a -> Set a
listSet :: Eq a => [a] -> Set a
unionSet :: Eq a => Set a -> Set a -> Set a
removeSet :: Eq a => Set a -> Set a -> Set a
strChr' :: Char -> Char -> String
strChr :: Char -> String
strStr :: String -> String
showErr :: FilePath -> (Pos, String, [String]) -> String
readFirst :: [String] -> IO (String, String)
isByte :: Int -> Bool
isUByte :: Int -> Bool
isShort :: Int -> Bool
isUShort :: Int -> Bool
isInt :: Int -> Bool
Documentation
exitFail :: IO a
space :: Int -> String
fst3 :: (a, b, c) -> a
snd3 :: (a, b, c) -> b
thd3 :: (a, b, c) -> c
sndOf :: a -> b -> b
makeDouble :: Integer -> Double -> Int -> Double
mapListSnd :: (a -> b) -> [(c, a)] -> [(c, b)]
foldls :: (a -> b -> a) -> a -> [b] -> a
split :: Eq a => [a] -> a -> [[a]]
strace :: String -> a -> a
warning :: String -> a -> a
fstOf :: a -> b -> a
safeTail :: [a] -> [a]
snub :: Eq a => [a] -> [a]
pair :: a -> b -> (a, b)
triple :: a -> b -> c -> (a, b, c)
isLeft :: Either a b -> Bool
isRight :: Either a b -> Bool
dropLeft :: Either a b -> a
dropRight :: Either a b -> b
dropEither :: Either a a -> a
mapPair :: (a -> b) -> (c -> d) -> (a, c) -> (b, d)
mapFst :: (a -> b) -> (a, o) -> (b, o)
mapSnd :: (a -> b) -> (o, a) -> (o, b)
findLeft :: [Either e a] -> Either e [a]
eitherMap :: (a -> Either e b) -> [a] -> Either e [b]
Isn't this just (f -> findLeft . map f)?
jRight :: Int -> [Char] -> [Char]
jLeft :: Int -> [Char] -> [Char]
partitions :: Eq b => (a -> b) -> [a] -> [[a]]
Take a function and a list and return a list of spans in which the function returns the same value for each element.
mix :: String -> [String] -> String
mixSpace :: [String] -> String
mixComma :: [String] -> String
mixLine :: [String] -> String
mixCommaAnd :: [String] -> String
assoc :: Eq a => a -> [(a, b)] -> b
assocDef :: Eq a => [(a, b)] -> b -> a -> b
data Pos
abstract type for storing the position of a syntactic construct in a file, that is, line and column number of both start and end positions.
Constructors
P !Int !Int
show/hide Instances
Eq Pos
Ord Pos
Show Pos
type Line = Int
type Column = Int
pos2Int :: Pos -> Int
used in STGcode to get encoded start position STGcode should be changed so that this function can disappear
toPos :: Line -> Column -> Line -> Column -> Pos
insertPos :: Pos -> Pos
create a virtual position out of a real one
noPos :: Pos
mergePos :: Pos -> Pos -> Pos
combines positions by determining minimal one that covers both positions may or may not overlap does not assume that first pos really earlier nonexisting positions are ignored
mergePoss :: [Pos] -> Pos
merge a list of positions
fromPos :: Pos -> (Line, Column, Line, Column)
strPos :: Pos -> String
data SplitIntegral
Constructors
SplitPos [Int]
SplitZero
SplitNeg [Int]
splitIntegral :: Integral n => n -> SplitIntegral
type Set a = [a]
emptySet :: Set a
singletonSet :: a -> Set a
listSet :: Eq a => [a] -> Set a
unionSet :: Eq a => Set a -> Set a -> Set a
removeSet :: Eq a => Set a -> Set a -> Set a
strChr' :: Char -> Char -> String
strChr :: Char -> String
strStr :: String -> String
showErr :: FilePath -> (Pos, String, [String]) -> String
readFirst :: [String] -> IO (String, String)
Given a list of filenames, return filename and its content of first file that was read successfully (intention: other filenames may not exist)
Test integers for their size bounds
isByte :: Int -> Bool
isUByte :: Int -> Bool
isShort :: Int -> Bool
isUShort :: Int -> Bool
isInt :: Int -> Bool
Produced by Haddock version 0.8