|
|
|
|
|
|
Synopsis |
|
for :: (Monad m) => a -> (a -> Bool) -> (a -> a) -> (a -> m b) -> m () | | for' :: (Monad m) => a -> (a -> Bool) -> (a -> a) -> b -> (a -> b -> m b) -> m b | | map_ :: (a -> b) -> [a] -> [b] | | foldr_ :: (a -> b -> b) -> b -> [a] -> b | | merge :: (a -> a -> a) -> [a] -> [a] -> [a] | | mergeSet :: ([a] -> b) -> [[a]] -> [b] | | uneitherlist :: [Either a b] -> ([a], [b]) | | walk :: ([a] -> [b]) -> [a] -> ([a], [b]) | | appendmaps :: [[a] -> [b]] -> [a] -> [b] | | appendmaps' :: [[a] -> [b]] -> [a] -> [[b]] | | qsort :: (a -> a -> Bool) -> [a] -> [a] | | qsortM :: (Monad m) => (a -> a -> m Bool) -> [a] -> m [a] | | head_opt :: a -> [a] -> a | | newFilePath :: (Int -> FilePath) -> IO FilePath | | inList :: IO (Maybe a -> IO (Maybe b)) -> [a] -> [b] | | inList' :: IO (a -> IO b) -> [a] -> [b] | | inList'' :: IO (a -> IO (Maybe b)) -> [a] -> [b] | | toList :: IO (IO a) -> [a] | | toList' :: IO (IO (Maybe a)) -> [a] | | inListE :: IO (Either (Maybe a -> IO (Maybe b)) (Maybe a -> IO (Maybe c))) -> [a] -> Either [b] [c] | | inListE' :: IO (Either (a -> IO b) (a -> IO c)) -> [a] -> Either [b] [c] | | inListE'' :: IO (Either (a -> IO (Maybe b)) (a -> IO (Maybe c))) -> [a] -> Either [b] [c] | | toListE :: IO (Either (IO a) (IO b)) -> Either [a] [b] | | toListE' :: IO (Either (IO (Maybe a)) (IO (Maybe b))) -> Either [a] [b] |
|
|
|
Imperative control structure |
|
for :: (Monad m) => a -> (a -> Bool) -> (a -> a) -> (a -> m b) -> m () |
|
for' :: (Monad m) => a -> (a -> Bool) -> (a -> a) -> b -> (a -> b -> m b) -> m b |
|
Usefull list functions |
|
map_ :: (a -> b) -> [a] -> [b] |
a pseudo-strict map version. does not touch the elements but reconstructs the whole list
structure before the function is applied to the value |
|
foldr_ :: (a -> b -> b) -> b -> [a] -> b |
a pseudo-strict foldr version. does not touch the elements but reconstructs the whole list
structure before the function is applied to the values. |
|
merge :: (a -> a -> a) -> [a] -> [a] -> [a] |
Similar to zipWith, but the result has the length of the longer input list. |
|
mergeSet :: ([a] -> b) -> [[a]] -> [b] |
|
uneitherlist :: [Either a b] -> ([a], [b]) |
|
walk :: ([a] -> [b]) -> [a] -> ([a], [b]) |
|
appendmaps :: [[a] -> [b]] -> [a] -> [b] |
|
appendmaps' :: [[a] -> [b]] -> [a] -> [[b]] |
|
qsort :: (a -> a -> Bool) -> [a] -> [a] |
|
qsortM :: (Monad m) => (a -> a -> m Bool) -> [a] -> m [a] |
|
More usefull functions |
|
head_opt :: a -> [a] -> a |
|
newFilePath :: (Int -> FilePath) -> IO FilePath |
the given function must create a filepath using the Int-argument. The filepath must be
different for different arguments. newFilePath works like Gödels mu-operator and terminates
only if the filepath does not exist. |
|
Embedding IO in a list (-map) |
|
inList :: IO (Maybe a -> IO (Maybe b)) -> [a] -> [b] |
|
inList' :: IO (a -> IO b) -> [a] -> [b] |
|
inList'' :: IO (a -> IO (Maybe b)) -> [a] -> [b] |
|
toList :: IO (IO a) -> [a] |
|
toList' :: IO (IO (Maybe a)) -> [a] |
|
inListE :: IO (Either (Maybe a -> IO (Maybe b)) (Maybe a -> IO (Maybe c))) -> [a] -> Either [b] [c] |
|
inListE' :: IO (Either (a -> IO b) (a -> IO c)) -> [a] -> Either [b] [c] |
|
inListE'' :: IO (Either (a -> IO (Maybe b)) (a -> IO (Maybe c))) -> [a] -> Either [b] [c] |
|
toListE :: IO (Either (IO a) (IO b)) -> Either [a] [b] |
|
toListE' :: IO (Either (IO (Maybe a)) (IO (Maybe b))) -> Either [a] [b] |
|
Produced by Haddock version HADDOCK_VERSION |